static verifies(field, message, fnAction) {

    // Legacy support
    if (arguments.length === 2) {
      fnAction = message;
      message = field;
      field = null;
    }

    if (!this.prototype.hasOwnProperty('_verifications')) {
      this.prototype._verifications = {};
      this.prototype._verificationsList = [];
    };

    this.prototype._verificationsList.push({
      field: field,
      message: message,
      action: fnAction,
      fields: utilities.getFunctionParameters(fnAction).slice(0, -1)
    });

    this.prototype._verifications[field] = this.prototype._verifications[field] || [];
    this.prototype._verifications[field].push({
      message: message,
      action: fnAction,
      fields: utilities.getFunctionParameters(fnAction).slice(0, -1)
    });

  }
Creates a verifier. These run asynchronously, support multiple fields, and check every time you try to save a Model.
@param {string} field The field applied to the verification.
@param {string} message The error message shown if a verification fails.
@param {function} fnAction The asynchronous verification method. The last argument passed is always a callback, and field names are determined by the argument names.