Performed some refactoring on the module loader layer to simplify the structure to some degree by creating a IModuleDefinition that can be used to store and access the module metadata.