private function setup()
    {
        $config = $this->config();
        date_default_timezone_set($config['timezone']);

        // Setup routes
        $this->routeManager()->setupRoutes();

        // Setup modules
        $this->setupModules();

        // Setup routable (if not running CLI mode)
        if (PHP_SAPI !== 'cli') {
            $this->setupRoutables();
        }

        // Setup middlewares
        $this->setupMiddlewares();
    }