anchor.diff:        const OnEnter : TOnEnterStateMethod<TState, TCommand>; const OnExit : TOnExitStateMethod<TState, TCommand> = nil
         ) : IFiniteStateMachine<TState, TCommand, ErrorClass>; overload;
       function AddTransition(const FromState, ToState : TState; const OnCommand : TCommand;
  +      const OnEnter : TOnEnterStateProc<TState, TCommand>; const OnExit : TOnExitStateProc<TState, TCommand> = nil
  +      ) : IFiniteStateMachine<TState, TCommand, ErrorClass>; overload;
  +    function AddTransitions(const FromStates : array of TState; const ToState : TState; const OnCommand : TCommand
  +      ) : IFiniteStateMachine<TState, TCommand, ErrorClass>; overload;
  +    function AddTransitions(const FromStates : array of TState; const ToState : TState; const OnCommand : TCommand;
  +      const OnEnter : TOnEnterStateMethod<TState, TCommand>; const OnExit : TOnExitStateMethod<TState, TCommand> = nil
  +      ) : IFiniteStateMachine<TState, TCommand, ErrorClass>; overload;
  +    function AddTransitions(const FromStates : array of TState; const ToState : TState; const OnCommand : TCommand;
         const OnEnter : TOnEnterStateProc<TState, TCommand>; const OnExit : TOnExitStateProc<TState, TCommand> = nil
         ) : IFiniteStateMachine<TState, TCommand, ErrorClass>; overload;
       function Execute(const Command : TCommand) : IFiniteStateMachine<TState, TCommand, ErrorClass>;
  
positive.code:   Result := Self;
  end;
  
  function TThreadFiniteStateMachine<TState, TCommand, ErrorClass>.AddTransition(const FromState, ToState : TState;
    const OnCommand : TCommand; const OnEnter : TOnEnterStateMethod; const OnExit : TOnExitStateMethod) : IFiniteStateMachine;
  begin
  
negative.code:       function  AddTransition(const FromState, ToState : TState; const OnCommand : TCommand;
          const OnEnter : TOnEnterStateProc; const OnExit : TOnExitStateProc = nil
          ) : IFiniteStateMachine; overload;
        function  AddTransitions(const FromStates : array of TState; const ToState : TState; const OnCommand : TCommand
          ) : IFiniteStateMachine; overload;
        function  AddTransitions(const FromStates : array of TState; const ToState : TState; const OnCommand : TCommand;
          const OnEnter : TOnEnterStateMethod; const OnExit : TOnExitStateMethod = nil
          ) : IFiniteStateMachine; overload;
        function  AddTransitions(const FromStates : array of TState; const ToState : TState; const OnCommand : TCommand;
          const OnEnter : TOnEnterStateProc; const OnExit : TOnExitStateProc = nil
          ) : IFiniteStateMachine; overload;
        function  Execute(const Command : TCommand) : IFiniteStateMachine;
        function  GetReachableState(const FromState : TState; const OnCommand : TCommand) : TState; overload;
        function  GetReachableState(const OnCommand : TCommand) : TState; overload;
  