Adding logic to warn if newer version of assembly is being registered that was already resolved. Adding new methods to AssemblyUtility to make assembly loading more testable. Completely refactoring module loader to make it more maintainable and easier to test