Description
Currently the communication group is created in the constructor of IMRU driver, mapper evaluates are requested after receiving active context for master, and tasks are added to the TaskStarter whenever an IActiveContext is received.
To support fault tolerant, we should be able to
1. Recreate a new communication group and new TaskStarter in recovery scenario.
2. Only start to create tasks after all the active contexts are received.
This would require us to refactor IMRU driver to move communication group creation from constructor and decouple evaluator/context requests from task creation.