/**
  * get registered state or throw exception else
  *
  * @param string $name
  * @return State
  */
 public function getState($name)
 {
     if (!array_key_exists($name, $this->states)) {
         throw WorkflowEngineException::youTryUseNonExistingState($name, array_keys($this->states));
     }
     return $this->states[$name];
 }