anchor.diff:      procedure DoBeforeHandleRequest(const AApplication: TMARSApplication); virtual;
       procedure DoAfterHandleRequest(const AApplication: TMARSApplication; const AStopWatch: TStopWatch); virtual;
     public
  -    constructor Create(const AName: string = 'DefaultEngine'); virtual;
  +    constructor Create(const AName: string = DEFAULT_ENGINE_NAME); virtual;
       destructor Destroy; override;
   
       function HandleRequest(ARequest: TWebRequest; AResponse: TWebResponse): Boolean;
  
positive.code:   end;
  
    TMARSEngine = class
    private
      FApplications: TMARSApplicationDictionary;
      FSubscribers: TList<IMARSHandleRequestEventListener>;
      FCriticalSection: TCriticalSection;
      FParameters: TMARSParameters;
      FName: string;
     private
      class threadvar FWebRequest: TWebRequest;
      class threadvar FWebResponse: TWebResponse;
      class threadvar FURL: TMARSURL;
      class threadvar FToken: TMARSToken;
  
      function GetCurrentRequest: TWebRequest;
      function GetCurrentResponse: TWebResponse;
  
negative.code:     property CurrentToken: TMARSToken read GetCurrentToken;
      property CurrentRequest: TWebRequest read GetCurrentRequest;
      property CurrentResponse: TWebResponse read GetCurrentResponse;
    end;
  
    TMARSEngineRegistry=class
    private
      FItems: TDictionary<string, TMARSEngine>;
      function GetCount: Integer;
    protected
      class var _Instance: TMARSEngineRegistry;
      class function GetInstance: TMARSEngineRegistry; static;
      function GetEngine(const AName: string): TMARSEngine;
      class function GetDefaultEngine: TMARSEngine; static;
    public
      constructor Create; virtual;
      destructor Destroy; override;
  
      procedure RegisterEngine(const AEngine: TMARSEngine);
      procedure UnregisterEngine(const AEngine: TMARSEngine); overload;
      procedure UnregisterEngine(const AEngineName: string); overload;
  
      property Engine[const AName: string]: TMARSEngine read GetEngine; default;
  
      property Count: Integer read GetCount;
  
      class property Instance: TMARSEngineRegistry read GetInstance;
      class property DefaultEngine: TMARSEngine read GetDefaultEngine;
    end;
  
  implementation
  