public static function validator(String $scheme, String $host, array $routes)
    {
        // Validate Domain
        self::validate_domain($scheme, $host);

        // Validate Routes
        foreach ($routes as $route)
        {
            if (!isset($route['method']))
                throw new Exception('Method is not set in routes.');

            if (!isset($route['route']))
                throw new Exception('Route is not set in routes.');

            if (!isset($route['controller']))
                throw new Exception('Controller is not set in routes.');

            // Validate available HTTP methods
            if (!in_array($route['method'], self::METHODS))
                throw new Exception('Method: "' . $route['method'] . '" is not a valid method. Use one of: [' . implode(', ', self::METHODS) . '].');
        }
    }