Regarding question 2:
In the new PatientBootstrapper I now bypass ConfigureModuleCatalog altogether. Instead I resolve the initializers of the Modules directly, passing the original EventAggregator as an injected constructor parameter. This initializer in turn passes the EventAggregator to the Presenter(s), after which their associated Views are registered with regions in the usual way.
Still it seems awkward that the standard facilities of ConfigureModuleCatalog cannot be used to handle the initialization and registration in this case.
In the new PatientBootstrapper I now bypass ConfigureModuleCatalog altogether. Instead I resolve the initializers of the Modules directly, passing the original EventAggregator as an injected constructor parameter. This initializer in turn passes the EventAggregator to the Presenter(s), after which their associated Views are registered with regions in the usual way.
Still it seems awkward that the standard facilities of ConfigureModuleCatalog cannot be used to handle the initialization and registration in this case.