public function render(View $view = null)
    {

        if ($this->rendered) {
            return true;
        }

        //$this->reloadResponseVars( $this->response );

        $onRender = new Event('Controller.beforeRender', $this);

        $this->observer->trigger($onRender);
        if ($onRender->isStopped()) {
            $this->autoRender = false;

            return $this->response;
        }

        //controllers only know about one view.
        //Every action uses a single view;
        //views can be set with $this->setView("") or $this->display(""); //or can be set on render;

        //If we are setting a really late view;
        $view = !is_null($view) ? $view : $this->getView();

        $this->response->addContent($view->render());

        $this->rendered = true;

        return true;
    }