anchor.diff:  part of D3Dart;
  +
  +/**
  + * EventStream provides a sync broadcast event
  + */
  +class EventStream<T> {
  +  StreamController<T> _controller = new StreamController<T>(sync: true);
  +  Stream<T> stream;
  +
  +  EventStream() {
  +    stream = _controller.stream.asBroadcastStream();
  +  }
  +
  +  signal([T value = null]) {
  +    _controller.add(value);
  +  }
  +}
  +
   
   abstract class ChartWithAxes {
     num width;
  
positive.code:             hover.datum = datum;
            }
          });
        }
        
        $elmt.onMouseLeave.listen((_) {
  
negative.code: }
  
  class ColumnChart extends ChartWithAxes {
    
    final EventStream<Object> _onItemClick = new EventStream<Object>();
    Stream<Object> get onItemClick => _onItemClick.stream;
    
    Element $elmt;
    
  