private function render($template, $layout) {
        if ( !is_file($template) ) {
            throw new \InvalidArgumentException(sprintf('No se encuentra la plantilla cargar en (%s).', $template));
        }
        
        if ( $layout && !is_file($layout) ) {
            throw new \InvalidArgumentException(sprintf('No se encuentra la plantilla principal a cargar en (%s).', $layout));
        }

        //Seguridad en caso de un error fatal de programación en las plantillas
        ob_start(['PowerOn\View\View', 'handleBuffer']);
        
        try {
            include $template;
        } catch (RuntimeException $e) {
            if ( DEV_ENVIRONMENT ) {
                /* @var $logger \Monolog\Logger */
                $logger = $this->_container['Logger'];
                $logger->addDebug('Runtime Error: ' . $e->getMessage(), $e->getContext());
                
                echo $e->getRenderedError();
            } else {
                ob_end_clean();
                throw new InternalErrorException(sprintf('Runtime Error: %s <br /><small> %s (%d)</small>', 
                        $e->getMessage(), $e->getFile(), $e->getLine()));
            }
        }
        $this->_content = ob_get_clean();
        
        if ( $layout ) {
            ob_start();
            require_once $layout;
            return ob_get_clean();
        }
        
        return $this->_content;
    }