anchor.diff:  
   function TFiniteStateMachine<TState, TCommand, ErrorClass>.HasTransition(const OnCommand : TCommand) : Boolean;
   begin
  -  //TODO: implement
  +  Result := HasTransition(FCurrentState, OnCommand);
   end;
   
   function TFiniteStateMachine<TState, TCommand, ErrorClass>.RemoveTransition(const FromState : TState;
  
positive.code:   //TODO: implement
  end;
  
  function TFiniteStateMachine<TState, TCommand, ErrorClass>.GetCurrentState : TState;
  begin
    Result := FCurrentState;
  
negative.code:     private
        function GetCurrentState : TState;
        function GetPreviousState : TState;
      strict protected
        procedure AfterExecute(const Command : TCommand); virtual;
        procedure BeforeExecute(const Command : TCommand); virtual;
        function  FindTransition(const FromState : TState; const OnCommand : TCommand) : TTransition;
      public
        constructor Create; overload; virtual; abstract;
        constructor Create(const InitialState : TState); overload; virtual;
  