@Override
 public void reset() {
   Preconditions.checkState(this.listener != null);
   this.listener = null;
   avatar.setSrc(null);
   name.setInnerText(null);
   address.setInnerText(null);
   for (Widget child : self.getChildren()) {
     child.removeFromParent();
   }
 }
 @Override
 public void addButton(SafeHtml label, ClickHandler handler) {
   Button button = new Button(label.asString(), handler);
   button.setStyleName(style.button());
   self.add(button, controls);
 }