__load__(data, fromStorage, fromSeed) {

    data = data || {};

    this._inStorage = !!fromStorage;
    this._isSeeding = !!fromSeed;

    if (!fromStorage) {
      data.created_at = new Date();
      data.updated_at = new Date();
    }

    let keys = Object.keys(data);

    keys.forEach(key => {
      this.__safeSet__(key, data[key]);
      this._changed[key] = !fromStorage
    });

    this.__validate__();

    return this;

  }
Loads data into the model
@private
@param {Object} data Data to load into the model
@param {optional boolean} fromStorage Specify if the model was loaded from storage. Defaults to false.
@param {optional boolean} fromSeed Specify if the model was generated from a seed. Defaults to false.