public function run(Config $configuration)
    {
        $this->config = $configuration;
        $this->config->set('base', str_replace('app.php', '', $_SERVER['SCRIPT_NAME']));
        try {
            $request = $this->getRequest();
            if (!$this->config->get('routes')) {
                throw new Exception404( "No routes", 1 );
            } else {
                list($controller_name, $action_name, $parameters) = $this->findRoute($request);
            }

            $controller = new $controller_name();
            $controller->$action_name( $parameters );
        } catch ( Exception404 $e ) {
            $e->displayMessage();
        }
    }