Resolves an issue where a module's initialize would be called twice

#975 describes an issue regarding modules being initialized with a custom class as the second parameter. @jasonLaster brought to light a *second* issue regarding sub modules. This PR is for the *first* issue brought up there. A second commit/PR will follow for submodules.

Resolves #975