anchor.diff:  
     dom.Element tooltipElem;
   
  -  Tooltip(dom.Element this.element, dom.Node this.node,
  -      Scope this.scope) {
  -
  -    element.onMouseEnter.listen((event) {
  -      _createTemplate();
  -    });
  -
  -    element.onMouseLeave.listen((event) {
  -      _destroyTemplate();
  -    });
  +  Tooltip(this.element, this.node, this.scope) {
  +    element
  +      ..onMouseEnter.listen((_) => _createTemplate())
  +      ..onMouseLeave.listen((_) => _destroyTemplate());
     }
   
     _createTemplate() {
  
positive.code:   String text;
    int imgWidth;
  
    TooltipModel(String this.imgUrl, String this.text,
        int this.imgWidth);
  }
  
negative.code: 
      tooltipElem = new dom.DivElement();
  
      dom.ImageElement imgElem = new dom.ImageElement()
        ..width = displayModel.imgWidth
        ..src = displayModel.imgUrl;
      tooltipElem.append(imgElem);
  
      if (displayModel.text != null) {
        dom.DivElement textSpan = new dom.DivElement()
          ..appendText(displayModel.text)
          ..style.color = "white"
          ..style.fontSize = "smaller"
          ..style.paddingBottom = "5px";
  
        tooltipElem.append(textSpan);
      }
  
      tooltipElem.style
        ..padding = "5px"
        ..paddingBottom = "0px"
        ..backgroundColor = "black"
        ..borderRadius = "5px"
        ..width = "${displayModel.imgWidth.toString()}px";
  
      // find the coordinates of the parent DOM element
      Rectangle bounds = element.getBoundingClientRect();
      int left = (bounds.left + dom.window.pageXOffset).toInt();
      int top = (bounds.top + dom.window.pageYOffset).toInt();
      int width = bounds.width.toInt();
      int height = bounds.height.toInt();
  
      // position the tooltip.
      // Figure out where the containing element sits in the window.
      tooltipElem.style
        ..position = "absolute"
        ..top = "${top - height}px"
        ..left = "${left + width + 10}px";
  
      // Add the tooltip to the document body. We add it here because
      // we need to position it absolutely, without reference to its
  