anchor.diff:      }
     }
     void _mouseMoveHandler(MouseEvent event) {
  +    //print("mouse move, enabled: $enabled, dragging: $_dragging");
       // call the drag callback
       // TODO is currentTarget the correct thing?
       // TODO if so, we don't really need to pass it as a para
  
positive.code:     _currentTarget = event.currentTarget;
      
      // set dragging flag
      _dragging = true;
      
      // register for a move event if the callback exists
  
negative.code:   bool _enabled = true;
    /// True iff the handler is active
    bool get enabled => _enabled;
    bool _delayedDisable = false;
    set enabled(bool e) {
      // if we are currently dragging, delay a disable until it ends
      // TODO yikes, this is kind of scary
      if(_dragging && _enabled && !e) {
        _delayedDisable = true;
        return;
      }
      // if we are enabled during a delayed disable, disable the delayed disable
      if(_delayedDisable && e) {
        _delayedDisable = false;
      }
      
      // if we aren't changing state, don't do anything
      if(_enabled != e) {
        
  