/**
  * @see SplObserver::update()
  */
 public function update(\SplSubject $stateMachine)
 {
     if ($stateMachine instanceof StatemachineInterface) {
         $subject = $stateMachine->getSubject();
         if ($subject instanceof StatefulInterface) {
             $stateName = $stateMachine->getCurrentState()->getName();
             $subject->setCurrentStateName($stateName);
         }
     }
 }
 public function update(SplSubject $event)
 {
     $this->collected[] = ['subject' => $event->getSubject(), 'type' => $event->getType(), 'key' => $event->getKey()];
 }