private function load($simulate = [])
    {
        // Get the received data from request
        $stream         = json_decode(file_get_contents('php://input'), true);
        self::$received = (!empty($stream)) ? $stream : $_REQUEST;

        if (!empty($simulate)) {
            self::$received = $simulate;
        }

        Conversation::set('request_raw', self::$received);

        // Load driver to parse request
        $this->driver = Driver::getInstance();
        $this->driver->run(self::$received);

        Logger::put($stream, 'incoming');

        self::$token = Config::get('access_token', self::$token);

        $this->subscribe();
    }