combined injectDependencies with getDependencies; removed need for retrunModules by adding the handled module to the dependency chain so it gets bind and we can just call its factory method;
replaced forEach for map in injectDependencies loop;
removed window and document from default module this-scope.