public function testCanHelper()
 {
     DynamicModel::clearDynamicMethods();
     $machine = with(new StateMachine('DynamicModel'))->setStateAttributeName('status');
     $machine->addState('stopped');
     $machine->addState('running');
     $machine->addEvent('start')->transitions('stopped', 'running', ['guard' => function ($obj) {
         return $obj->transition_can_happen;
     }]);
     $obj = new DynamicModel();
     $obj->status = 'stopped';
     $obj->transition_can_happen = false;
     $this->assertFalse($obj->canStart());
     $obj->transition_can_happen = true;
     $this->assertTrue($obj->canStart());
 }