private static function executeAction($actionContext) {
        $controller = $actionContext->getController();
        $actionName = $actionContext->getActionName();
        $action = new \ReflectionMethod($controller, $actionName);

        if (!$action->isPublic()) {
            throw new \Exception('Action methods must have a public modifier. The action call "' . $actionName . '" is denied.');
        }

        return $action->invokeArgs($controller, $actionContext->getArguments());
    }