anchor.diff:  
   destructor TIWBSCustomAsyncEvent.Destroy;
   begin
  +  if FApplication <> nil then
  +    FApplication.UnregisterCallBack(FCallbackName);
     FCallBackParams.Free;
     inherited;
   end;
  
positive.code: type
    TIWBSCustomAsyncEvent = class (TCollectionItem)
    private
      FEventName: string;
      FAsyncEvent: TIWAsyncEvent;
      FCallBackParams: TStringList;
  
negative.code: 
  procedure TIWBSCustomAsyncEvent.ExecuteCallBack(aParams: TStringList);
  begin
    if Assigned(FAsyncEvent) and Assigned(Collection) then
      FAsyncEvent(Collection.Owner, aParams);
  end;
  
  procedure TIWBSCustomAsyncEvent.RegisterEvent(AApplication: TIWApplication; const AComponentName: string);
  begin
    FApplication := AApplication;
    FCallbackName := AComponentName+'.'+FEventName;
    AApplication.RegisterCallBack(FCallbackName, ExecuteCallBack);
  end;
  
  procedure TIWBSCustomAsyncEvent.ParseParam(const AHTMLName: string; AScript: TStringList);
  