stateMachine) { $this->stateMachine = app(FactoryInterface::class)->get($this, self::SM_CONFIG); } return $this->stateMachine; } public function state($transition = null) { if ($transition) { return $this->getStateMachine()->apply($transition); } else { return $this->getStateMachine()->getState(); } } public function transitionAllowed($transition) { return $this->getStateMachine()->can($transition); } public function history() { return $this->hasMany(self::HISTORY_MODEL); } }