code: function AggregateModel (id, modelInitValues) {
    if (!id || !_.isString(id)) {
      var err = new Error('No id injected!');
      debug(err);
      throw err;
    }
  
    this.id = id;
  
    if (modelInitValues instanceof AggregateModel) {
      this.attributes = modelInitValues.toJSON();
    } else {
      this.attributes = _.cloneDeep(modelInitValues || {});
    }
  
    this.attributes.id = this.id;
    this.attributes._destroyed = this.attributes._destroyed || false;
    this.attributes._revisions = this.attributes._revisions || {};
    this.attributes._revision = this.attributes._revision || 0;
  
    this.uncommittedEvents = [];
  }
docs: Aggregate constructor
  @param {String} id              The aggregate id.
  @param {Object} modelInitValues Initialization values for model like: { emails: [] } [optional]
  @constructor