code: function() {
        var updateEventsIsArray = _.isArray(this.updateEvents);
        var updateEventsIsSingleValue = !updateEventsIsArray && (_.isObject(this.updateEvents) || _.isString(this.updateEvents));
        var updateEventsIsUndefined = _.isUndefined(this.updateEvents);
        var updateEventsIsValidType = updateEventsIsArray || updateEventsIsSingleValue || updateEventsIsUndefined;
  
        if (updateEventsIsSingleValue) {
          this.updateEvents = [this.updateEvents];
        }
  
        if (!updateEventsIsValidType) {
          throw new Error('Update events are not an array, string or object.  Please see parameters for examples of how to define updateEvents.  Configured UpdateEvents: ', this.updateEvents);
        }
  
        // Remove any random falsey values (mostly to get rid of undefined events).
        this.updateEvents = _.compact(this.updateEvents);
        _.each(this.updateEvents, this.__validUpdateEvent);
      }
docs: Validates that the updateEvents property is valid and if not throws an error describing why its not valid.
  @method __normalizeAndValidateUpdateEvents
  @private