loadModule = async function (module) {
		const url = module.path + module.file;

		/**
		 * @returns {Promise<void>}
		 */
		const afterLoad = async function () {
			const moduleObject = Module.create(module.name);
			if (moduleObject) {
				await bootstrapModule(module, moduleObject);
			}
		};

		if (loadedModuleFiles.indexOf(url) !== -1) {
			await afterLoad();
		} else {
			await loadFile(url);
			loadedModuleFiles.push(url);
			await afterLoad();
		}
	}
Load modules via ajax request and create module objects.
@param {object} module Information about the module we want to load.
@returns {Promise<void>} resolved when module is loaded