code: function ErrorEngine(options, dictionary, key, params) {
      var auto_template = typeof options.auto_template === "boolean" ? options.auto_template : false;
      this.message = compose(auto_template, dictionary, key, params);
  
      Error.captureStackTrace(this, ErrorEngine);
  }
docs: @summary A base class for templating node error messages.
  
  @constructor
  @param {object} options - The options object.
  @param {boolean} [auto_template=false] - Indicates whether the error messages should be templated
  using the lodash template function.
  @param {object} dictionary - The dictionary of error messages mapping keys to values.
  @param {string} key - The key to use to construct the error message.
  @param {object} [params] - The parameters used when compiling an error message.