anchor.diff:      // until we actually get a mouse move
       // TODO we should also save the event object and not send
       // the callback until we get the mouse move?
  -    _dragging = true;
  +    _dragStartPending = true;
  +    _startEvent = event;
  +    //_dragging = true;
       
       // register for a move event if the callback exists
       if(drag != null) {
  
positive.code:         e.on.mouseOut.add(_mouseOut);
        }
      }
      
      // call start callback if it exists
      if(dragStart != null) {
        dragStart(this, _currentTarget, event);
      }
    }
    void _mouseOverHandler(MouseEvent event) {
      // call the drag in callback
      if(dragOver != null) {
        dragOver(this, event.currentTarget, event);
      }
    }
    void _mouseOutHandler(MouseEvent event) {
      // call the drag out callback
      if(dragOut != null) {
        dragOut(this, event.currentTarget, event);
      }
    }
    void _mouseMoveHandler(MouseEvent event) {
      //print("mouse move, enabled: $enabled, dragging: $_dragging");
      // call the drag callback
      // TODO is currentTarget the correct thing?
  
negative.code:       _delayedDisable = false;
        enabled = false;
      }
      
      // clear pending flag if it was set
      _dragStartPending = false;
    }
  }
  