anchor.diff:      procedure step; override;
       procedure Draw; virtual;
       procedure Halt;
  -    function Handle( msg : IMessage ):boolean; virtual;
  +    function Send( msg : IMessage ):boolean; override;
       function GetVisible : boolean;
       function GetExists : boolean;
       function GetActive : boolean;
  
positive.code:     constructor Create;
      procedure Invoke( cmd : string );
      procedure Clear;
      function Handle( msg : IMessage ):boolean; override;
      procedure Draw; override;
      destructor Destroy; override;
    end;
  
negative.code:     children.append(a);
    end;
  
  function TGroup.Send( msg: IMessage ):boolean;
    var handled : boolean; i : byte = 0;
    begin
      handled := false;
      while not handled and (i < self.children.length) do
        begin
  	handled := self.children[i].send(msg);
          inc(i);
        end;
      result := handled
  