public function getExecutor($action)
    {
        if (!$this->hasExecutor($action)) {
            throw new \OutOfBoundsException(sprintf(
                'There is no executor registered for action "%s".',
                $action
            ));
        }

        return $this->executors[$action];
    }