Cómo cambiar la configuración de NgModule en tiempo de ejecución

Hay algunos módulos que exponen su configuración de servicio, por ejemplo:

AngularFireModule.initializeApp(firebaseConfig),StoreModule.provideStore(reducer),RouterModule.forRoot(routes)...

¿Cómo reconfiguraría uno de estos en tiempo de ejecución? Por ejemplo, el usuario selecciona uno de los dos enlaces y un módulo diferente se carga de forma diferida y se configura de manera diferente ... ¿Cómo puedo pasar datos a este nuevo NgModule?

Todo lo que puedo pensar es poner algo en alcance global y leerlo desde allí, pero ... no me parece correcto :)

Respuestas a la pregunta(1)

Su respuesta a la pregunta