anchor.diff:  
   
       void setupLinks(Element container) {
  +
  +        saveLink = new AnchorElement();
  +        saveLink.href = canvas.toDataUrl();
  +        saveLink.target = "_blank";
  +        saveLink.setInnerHtml("Download PNG?");
  +        container.append(saveLink);
  +
           trollCallLink = new AnchorElement(href: "trollCall.html?${doll.toDataUrlPart()}")..style.padding = "5px";
           trollCallLink.text = "Troll Call";
           trollCallLink.target = "_blank";
  
positive.code:     }
  
      void syncLinks() {
          if(trollCallLink != null) trollCallLink.href = "trollCall.html?${doll.toDataUrlPart()}";
          if(trollCardLink != null) trollCardLink.href = "trollCard.html?${doll.toDataUrlPart()}";
          if(echeladderLink != null) echeladderLink.href = "echeladder.html?${doll.toDataUrlPart()}";
  
negative.code:     bool disclaimed = false;
  
      AnchorElement eastereggLink;
      AnchorElement saveLink;
      AnchorElement trollCallLink;
      AnchorElement trollCardLink;
      AnchorElement echeladderLink;
  