Add ModuleTask
Remove ModuleTask. Add FactoryTask