code: function (thumbEvent) {
  
          var t = this.thumb, newX, newY, newVal;
  
          if (!thumbEvent) {
              t.cachePosition();
          }
  
          if (! this.isLocked()) {
              if (t._isRegion) {
                  newX = t.getXValue();
                  newY = t.getYValue();
  
                  if (newX != this.previousX || newY != this.previousY) {
                      if (!this._silent) {
                          this.onChange(newX, newY);
                          this.fireEvent("change", { x: newX, y: newY });
                      }
                  }
  
                  this.previousX = newX;
                  this.previousY = newY;
  
              } else {
                  newVal = t.getValue();
                  if (newVal != this.previousVal) {
                      this.logger.log("Firing onchange: " + newVal);
                      if (!this._silent) {
                          this.onChange( newVal );
                          this.fireEvent("change", newVal);
                      }
                  }
                  this.previousVal = newVal;
              }
  
          }
      }
docs: Fires the change event if the value has been changed.  Ignored if we are in
  the middle of an animation as the event will fire when the animation is
  complete
  @method fireEvents
  @param {boolean} thumbEvent set to true if this event is fired from an event
  that occurred on the thumb.  If it is, the state of the
  thumb dd object should be correct.  Otherwise, the event
  originated on the background, so the thumb state needs to
  be refreshed before proceeding.
  @private