anchor.diff:      }
     }
   
  -  void _syncNode([Element old]) {
  -    if (old == null) {
  -      old = _emptyElement;
  -    }
  -
  -    _syncEvents(old);
  -
  +  bool _syncNode(Node old) {
  +    super._syncNode(old);
  +
  +    Element oldElement = old as Element;
       sky.Element root = _root as sky.Element;
  -    if (_class != old._class) {
  +
  +    _syncEvents(oldElement);
  +
  +    if (_class != oldElement._class)
         root.setAttribute('class', _class);
  -    }
  -
  -    if (inlineStyle != old.inlineStyle) {
  +
  +    if (inlineStyle != oldElement.inlineStyle)
         root.setAttribute('style', inlineStyle);
  -    }
  -  }
  -
  -  bool _sync(Node old, sky.ParentNode host, sky.Node insertBefore) {
  +
  +    _syncChildren(oldElement);
  +
  +    return false;
  +  }
  +
  +  void _syncChildren(Element oldElement) {
       // print("---Syncing children of $_key");
  -
  -    Element oldElement = old as Element;
  -
  -    if (oldElement == null) {
  -      // print("...no oldElement, initial build");
  -
  -      _root = sky.document.createElement(_tagName);
  -      _parentInsertBefore(host, _root, insertBefore);
  -      _syncNode();
  -
  -      for (var child in _children) {
  -        child._sync(null, _root, null);
  -        assert(child._root is sky.Node);
  -      }
  -
  -      return false;
  -    }
  -
  -    if (this == oldElement)
  -      return false;
  -
  -    _root = oldElement._root;
  -    oldElement._root = null;
  -    sky.Element root = (_root as sky.Element);
  -
  -    _syncNode(oldElement);
  +    sky.Element root = _root as sky.Element;
  +    assert(root != null);
   
       var startIndex = 0;
       var endIndex = _children.length;
  
positive.code:   // the data.
    Text(this.data) : super(key:'*text*');
  
    bool _sync(Node old, sky.ParentNode host, sky.Node insertBefore) {
      if (old == null) {
        _root = new sky.Text(data);
        _parentInsertBefore(host, _root, insertBefore);
        return false;
      }
  
      _root = old._root;
      (_root as sky.Text).data = data;
      return false;
    }
  
negative.code:     inlineStyle: inlineStyle
    );
  
    bool _syncNode(Node old) {
      super._syncNode(old);
  
      Image oldImage = old as Image;
      sky.HTMLImageElement skyImage = _root as sky.HTMLImageElement;
  
      if (src != oldImage.src)
        skyImage.src = src;
  
      if (width != oldImage.width)
        skyImage.style['width'] = '${width}px';
  
      if (height != oldImage.height)
        skyImage.style['height'] = '${height}px';
  
      return false;
    }
  }
  
  