public function createController($resourceNamePlural)
    {
        if (isset($this->controllers[$resourceNamePlural]) == false) {
            throw new ControllerNotFoundException('the controller for "'.$resourceNamePlural.'" does not exist');
        }

        $controller = $this->createNew($this->controllers[$resourceNamePlural]);

        if (!$controller instanceof BaseController) {
            throw new InvalidControllerException('the controller "'.$this->controllers[$resourceNamePlural].'"" is not an instance of BaseController');
        }

        return $controller;
    }