protected function prepareAndCreateControllerAction() {
        //Create the view controller
        $this->view = $this->getLibraryInstance('mvc', 'viewClass', $this->config);

        //Create the controller with the core.
        $controller = $this->createCoreAndController(
                $this->routingRule->getController() . 'Controller',
                $this->eventManager,
                $this->routingRule->getInput(),
                $this->routingRule->getOutput(),
                $this->view,
                $this->language,
                $this->routingResolver,
                $this->errorController,
                $this->session,
                $this->connection,
                $this->auth
        );

        //Execute the controller action with the parameters.
        $actionReturn = $this->callClassAndMethodWithInputArguments($controller, $this->routingRule->getAction(), $this->routingRule->getInput());

        //Format the response
        return $this->routingRule->getOutput()->formatResponse($actionReturn);
    }