anchor.diff:    uMsgQueueList: TList;
     uDebugText: ^Text;
     uDebugTextAllocated: Boolean;
  +  uDebugIndent: integer;
   
   type
  +
  +  TDebugMethodHelper = class(TInterfacedObject)
  +  private
  +    FMethod: string;
  +  public
  +    constructor Create(const AMethodName: string);
  +    destructor Destroy; override;
  +  end;
  +
  +
     TNamedFontItem = class
     public
       FontID: string;
  
positive.code: procedure DebugLn(const s1, s2: TfpgString);
  procedure DebugLn(const s1, s2, s3: TfpgString);
  procedure DebugLn(const s1, s2, s3, s4: TfpgString);
  
  // operator overloading of some useful structures
  operator = (a: TRect; b: TRect): boolean;
  
negative.code:     constructor Create(AFontID, AFontDesc: string);
    end;
  
  
    TWidgetFriend = class(TfpgWidget);
  
  
  { TDebugMethodHelper }
  
  constructor TDebugMethodHelper.Create(const AMethodName: string);
  begin
    inherited Create;
    FMethod := AMethodName;
    DebugLn('>> ' + FMethod);
    uDebugIndent := uDebugIndent + 2;
  end;
  
  destructor TDebugMethodHelper.Destroy;
  begin
    uDebugIndent := uDebugIndent - 2;
    DebugLn('<< ' + FMethod);
    inherited Destroy;
  end;
  
    // so we can get access to the Protected section
  
  constructor TNamedFontItem.Create(AFontID, AFontDesc: string);
  begin
  