public function __construct(\Traversable $transitions, $subject, \ArrayAccess $context, EventInterface $event = null) { parent::__construct(new \IteratorIterator($transitions)); $this->subject = $subject; $this->context = $context; $this->event = $event; }