implement Module Factories and auto registration of factory at load time