anchor.diff:  
     void _subscribeMouseMove() {
       _mouseMoveSubscr = dom.document.onMouseMove.listen((e) {
  -      if(_dragStartPos != null) { // seems we still receive events after _mouseMoveSubscr.cancel()
  +      if(_dragStartPos != null && _isDragStartPending) { // seems we still receive events after _mouseMoveSubscr.cancel()
           if(!_isDragActive) {
             if(((e.client.x - _dragStartPos.x) as int).abs() > distance && !_isDragActive) {
               _dragStart();
  
positive.code:           _dragEnd(e);
          }
        }
      });
    }
  
  
negative.code:       _mouseMoveSubscr = null;
      }
      _isDragActive = false;
      _isDragStartPending = false;
      _dragStartPos = null;
      if(_draggedHelper != null) {
        _draggedHelper.remove();
  