anchor.diff:      _dragger.dragStart.add(_onDragStart);
   
       _demoMapper.outputChanged.add((e) => requestFrame());
  +
  +    _stage.invalidated.add(_onStageInvalidated);
     }
   
     void requestFrame(){
  
positive.code:   void _setMouse(core.Coordinate value) {
      _mouseLocation = value;
      final hits = Mouse.markMouseOver(_stage, _mouseLocation);
      if(hits != null && hits.length > 0 && hits[0] is Shape) {
        _canvas.style.cursor = 'pointer';
        _overShape = true;
      } else {
  
negative.code: 
    factory DraggerDemo(CanvasElement canvas){
  
      final image =
          new ImgElement.fromUrl('http://sweeper.j832.com/dart_logo.jpg',
              100, 100);
  
      var tx = image.addTransform();
  
      var rootPanel = new PCanvas(500, 500);
      rootPanel.addElement(image);
  
      var stage = new Stage(canvas, rootPanel);
      var dragger = new Dragger(canvas);
  