Como alterar a configuração do NgModule em tempo de execução

Existem alguns módulos que expõem sua configuração de serviço, por exemplo:

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

Como reconfigurar um desses em tempo de execução? Por exemplo, o usuário seleciona um dos dois links e o módulo diferente é carregado com preguiça e configurado de forma diferente ... Como posso passar dados para esse novo NgModule?

Tudo o que consigo pensar é colocar algo no escopo global e ler a partir daí, mas ... não parece certo :)

questionAnswers(1)

yourAnswerToTheQuestion