anchor.diff:    }
     
     /**
  -   * Sets the CSS left/top of [avatar].
  -   */
  -  void setLeftTop(Point position) {
  -    avatar.style.left = '${position.x}px';
  -    avatar.style.top = '${position.y}px';
  +   * Sets the CSS top/left values of [avatar]. Takes care of any top/left
  +   * margins the [avatar] might have to correctly position the element.
  +   */
  +  void setTopLeft(Point position) {
  +    avatar.style.top = '${position.y - marginTop}px';
  +    avatar.style.left = '${position.x - marginLeft}px';
     }
     
     /**
  
positive.code:   void dragEnd(Point startPosition, Point position) {
      // Remove the translate and set the new position as left/top.
      removeTranslate();
      setLeftTop(position - startPosition + _dragStartOffset);
      
      resetPointerEvents();
    }
  
negative.code:   
    AvatarHandler();
    
    /// Returns the [avatar] element.
    Element get avatar;
    
    /// The cached top margin of [avatar].
    num _marginTop;
    
    /// Returns the (cached) top margin of [avatar].
    num get marginTop {
      if (_marginTop == null) {
        _cacheMargins();
      }
      return _marginTop;
    }
    
    /// The cached left margin of [avatar].
    num _marginLeft;
    
    /// Returns the (cached) left margin of [avatar].
    num get marginLeft {
      if (_marginLeft == null) {
        _cacheMargins();
      }
      return _marginLeft;
    }
    
    /**
     * Creates an [AvatarHelper] that uses the draggable element itself as 
  