anchor.diff:  
   
   implementation
  +uses
  +  KM_Log;
   
   
   { TKMWorkerThread }
  
positive.code: end;
  
  
  procedure TKMWorkerThread.QueueWork(aProc: TProc; aWorkName: string = '');
  begin
    QueueWork(aProc, nil, aWorkName);
  
negative.code:     destructor Destroy; override;
      procedure Execute; override;
  
      procedure QueueWorkAndLog(aProc: TProc; aWorkName: string = '');
      procedure QueueWork(aProc: TProc; aWorkName: string = ''); overload;
      procedure QueueWork(aProc: TProc; aCallback: TProc<String> = nil; aWorkName: string = ''); overload;
      procedure WaitForAllWorkToComplete;
  