final protected function get(string $component)
    {
        switch ($component) {
            case 'request':
                return (FrameworkCore::getRuntimeParameters())->request;
                break;
            case 'query':
                return (FrameworkCore::getRuntimeParameters())->query;
                break;
            case 'session':
                return (HttpSession::getInstance());
                break;
            case 'service':
                return (Services::getInstance());
                break;
            case 'locale':
                return (FEnv::get("app.locale.context"));
                break;
            default:
                throw new Server500(new \ArrayObject(array("explain" =>
                   "Cannot call component : Undefined component $component",
                   "solution" => "Call availables components")));
                break;
        }
    }