XD-2100 Added ModuleFactory and support for different Module implementations