docs: function (binding, promise) {
    /** @private */
    this._binding = binding;
  
    /** @private */
    this._queuedUpdates = [];
    /** @private */
    this._finishedUpdates = [];
  
    /** @private */
    this._committed = false;
    /** @private */
    this._cancelled = false;
  
    /** @private */
    this._hasChanges = false;
    /** @private */
    this._hasMetaChanges = false;
  
    if (promise) {
      var self = this;
      promise.then(Util.identity, function () {
        if (!self.isCancelled()) {
          self.cancel();
        }
      });
    }
  }