private function compileTransitions(array $configuration)
    {
        $transitionChain = TransitionChain::create();

        foreach ($configuration as $transitionConfiguration) {
            list(
                $startStateName,
                $transitionName,
                $finalStateName
                ) = $transitionConfiguration;

            $startState = new State($startStateName);
            $finalState = new State($finalStateName);
            $transition = new Transition(
                $transitionName,
                $startState,
                $finalState
            );

            $transitionChain->addTransition($transition);
        }

        return $transitionChain;
    }