code: function(value) {
      this.terminal._caretChange = Caret.NO_CHANGE;
  
      return this.requisition.update(value).then(function(updated) {
        // Abort UI changes if this UI update has been overtaken
        if (!updated) {
          return RESOLVED;
        }
        this.textChanged();
        return this.terminal.unsetChoice();
      }.bind(this));
    }
docs: The input text has changed in some way.