public function setNeededAction($neededAction)
    {
        if (!in_array($neededAction, static::$allowedNeededActions))
        {
            throw new RuntimeException("Unknown needed action: '{$neededAction}'");
        }

        $this->neededAction = $neededAction;

        return $this;
    }