add ContainerAware interface and respect this in the ControllerFactory