public function handle(array $arguments)
    {
        $this->parseArguments($arguments);

        $actionClass = $this->getActionClass();
        if (class_exists($actionClass, true)) {
            try {
                /** @var \Teleport\Action\Action $handler */
                $handler = new $actionClass($this);
                $this->beforeHandle($handler);
                $handler->process();
                $this->afterHandle($handler);
            } catch (\Exception $e) {
                throw new RequestException($this, "Error handling {$this->action} Teleport request: " . $e->getMessage(), $e);
            }
        } else {
            throw new RequestException($this, "Unknown action {$this->action} specified in Teleport request.");
        }
    }