/**
* {@inheritdoc}
*/
public function load(StateMachineInterface $stateMachine)
{
if (null === $this->callbackHandler) {
$this->callbackHandler = new CallbackHandler($stateMachine->getDispatcher());
}
if (null === $this->callbackBuilderFactory) {
$this->callbackBuilderFactory = new CallbackBuilderFactory();
}
if (!$stateMachine->hasStateAccessor()) {
$stateMachine->setStateAccessor(new PropertyPathStateAccessor($this->config['property_path']));
}
$stateMachine->setGraph($this->config['graph']);
$this->loadStates($stateMachine);
$this->loadTransitions($stateMachine);
$this->loadCallbacks($stateMachine);
}