__verify__(callback) {

    // Run through verifications in order they were added
    async.series(
      this._verificationsList.map(verification => {
        return callback => {
          verification.action.apply(
            this,
            verification.fields
              .map(field => this.get(field))
              .concat(bool => {
                if (bool) {
                  callback(null);
                } else {
                  if (verification.field) {
                    this.setError(verification.field, verification.message);
                    callback(null);
                  } else {
                    callback(new Error(verification.message))
                  }
                }
              })
          )
        };
      }),
      (err) => {

        if (this.hasErrors()) {
          return callback.call(this, this.errorObject());
        } else if (err) {
          return callback.call(this, err);
        }

        callback(null);

      }
    );

  }
Runs all verifications before saving
@param {function} callback Method to execute upon completion. Returns true if OK, false if failed
@private