docs: function(attributes, options) {
        options = options || {};
        this.__cache = {};
        this.__currentUpdateEvents = [];
        this.__currentMappings = {};
        this.__currentObjectModels = {};
  
        // override + extend the validation and labels hashes
        this.validation = _.extend({}, this.validation, options.validation);
        this.labels = _.extend({}, this.labels, options.labels);
  
        NestedModel.apply(this, arguments);
  
        this.__initMappings(options);
  
        // Do an initial pull
        this.pull();
  
        // The pull may have overridden default attributes
        if (attributes) {
          this.set(attributes);
        }
  
        // Begin updating if requested
        if (options.startUpdating) {
          this.startUpdating();
        }
        this.trigger('initialization-complete');
      }