anchor.diff:  
       TextInputElement nameElement;
       TextAreaElement dataBox;
  +    TextAreaElement descElement;
   
       BigBadForm(BigBad this.bigBad, Element this.container) {
  -        drawForm();
       }
   
       void drawForm() {
  +        drawDataBox();
           drawName();
  -        drawDataBox();
  +        drawDesc();
       }
   
       void syncDataBoxToBigBad() {
  
positive.code:   JSONObject toJSON() {
        JSONObject json = new JSONObject();
        json["name"] = name;
        return json;
    }
  
  
negative.code:         });
      }
  
      void drawDesc() {
          DivElement subContainer = new DivElement();
          LabelElement nameLabel = new LabelElement();
          nameLabel.text = "Card Description:";
          descElement = new TextAreaElement();
          descElement.value = bigBad.description;
          descElement.cols = 60;
          descElement.rows = 10;
          subContainer.append(nameLabel);
          subContainer.append(descElement);
          container.append(subContainer);
  
          descElement.onInput.listen((e) {
              bigBad.description = descElement.value;
              syncDataBoxToBigBad();
          });
      }
  
      void drawDataBox() {
          dataBox = new TextAreaElement();
          dataBox.value = bigBad.toDataString();
          dataBox.cols = 60;
          dataBox.rows = 10;
          dataBox.onChange.listen((e) {
              print("syncing template to data box");
              bigBad.copyFromDataString(dataBox.value);
  