*/ private $triggers = []; /** @var array */ private $actions = []; public function addTrigger(Trigger $trigger): void { $key = $trigger->getKey(); if (isset($this->triggers[$key])) { throw new \Exception(); // TODO } $this->triggers[$key] = $trigger; } public function getTrigger(string $key): ?Trigger { return $this->triggers[$key] ?? null; } /** @return array */ public function getTriggers(): array { return $this->triggers; } public function addAction(Action $action): void { $key = $action->getKey(); if (isset($this->actions[$key])) { throw new \Exception(); // TODO } $this->actions[$key] = $action; } public function getAction(string $key): ?Action { return $this->actions[$key] ?? null; } /** @return array */ public function getActions(): array { return $this->actions; } }