Move ControllerFactory to subpackage impl