When you load a module dynamically, the Shell does not contain a reference to the module's assembly; instead, modules are dynamically discovered when the application starts.
The Shell is decoupled from the modules.