anchor.diff:      function ListVisible: Boolean; virtual; abstract;
       function GetItemIndex: SmallInt; virtual; abstract;
       procedure SetItemIndex(aIndex: SmallInt); virtual; abstract;
  +    procedure UpdateVisibility;
     protected
       procedure DoClick(X,Y: Integer; Shift: TShiftState; Button: TMouseButton); override;
       procedure SetTop(aValue: Integer); override;
  
positive.code: 
      fTimeOfLastClick: Cardinal; //Required to handle double-clicks
  
      fOnClick: TNotifyEvent;
      fOnClickShift: TNotifyEventShift;
      fOnClickRight: TPointEvent;
  
negative.code:   private
      fMasterControl: TKMMasterControl;
      procedure Init;
      procedure UpdateVisibility;
    protected
      //Do not propogate SetEnabled and SetVisible because that would show/enable ALL childs childs
      //e.g. scrollbar on a listbox
  