code: public static void bindText (final Value<String> value, final TextBoxBase text)
      {
          text.addKeyUpHandler(new KeyUpHandler() {
              public void onKeyUp (KeyUpEvent event) {
                  value.updateIf(((TextBoxBase)event.getSource()).getText());
              }
          });
          text.addChangeHandler(new ChangeHandler() {
              public void onChange (ChangeEvent event) {
                  value.updateIf(((TextBoxBase)event.getSource()).getText());
              }
          });
          bindLabel(value, text);
      }
docs: Binds the contents of the supplied text box to the supplied string value. The binding is
  multidirectional, i.e. changes to the value will update the text box and changes to the text
  box will update the value. The value is updated on key up as well as on change so that both
  keyboard initiated changes and non-keyboard initiated changes (paste) are handled.