Refactoring: Moved functionality from ModuleController into the specific modules
Creation of persistent ModuleData is now handled by treir own factorymethods.