anchor.diff:    PixelColorChangeEvent(String type, PixelCanvasElement c, Pixel p,
         this.oldColor): super(type, c, p);
   }
  +class ActionChangeEvent {
  +  final oldAction;
  +  final newAction;
  +  ActionChangeEvent(this.oldAction, this.newAction);
  +}
  
positive.code:   StreamController<PixelCanvesEvent> _beforeRenderingEventController =
        new StreamController.broadcast();
    StreamController<PixelCanvesEvent> _afterRenderingEventController =
        new StreamController.broadcast();
  
    Stream<PixelMouseEvent> get onPixelMouseOut =>
  
negative.code:       _beforeRenderingEventController.stream;
    Stream<PixelCanvesEvent> get onAfterRendering =>
        _afterRenderingEventController.stream;
    Stream<ActionChangeEvent> get onActionChange =>
        _actionChangeEventController.stream;
  
    CanvasRenderingContext2D get _canvasContext =>
        (_canvas == null) ? null : _canvas.getContext('2d');
  