anchor.diff:      requestFrame();
     }
   
  +  void _onDragStart(core.CancelableEventArgs e) {
  +    if(!_overShape) {
  +      e.cancel();
  +    }
  +  }
  +
     bool _onFrame(num highResTime){
       _stage.draw();
  -    if(_mouseLocation != null){
  -      RetainedDebug.borderHitTest(_stage, _mouseLocation);
  -    }
       _frameRequested = false;
     }
   
  
positive.code:     _canvas.on.mouseMove.add(_canvas_mouseMove);
      _canvas.on.mouseOut.add(_canvas_mouseOut);
      _dragger.dragDelta.add(_onDrag);
    }
  
    void requestFrame(){
  
negative.code: 
    core.Coordinate _mouseLocation;
    bool _frameRequested = false;
    bool _overShape = false;
  
    factory DraggerDemo(CanvasElement canvas){
  
  