public function respondTo($func)
    {
        $route    = Router::currentRoute();
        $response = $func($route['extension'], $this);

        if ($response === null) {
            return $this->show404();
        }

        return $response;
    }