code: function parse(template, block, data, callback) {
    if (!callback && typeof block === 'object' && typeof data === 'function') {
      callback = data;
      data = block;
      block = null;
    }
    if (typeof callback !== 'function') {
      // Calling parse synchronously with no callback is discontinued
      throw TypeError('Invalid Arguments: callback must be a function');
    }
    if (!template) {
      callback('');
      return;
    }
  
    render(template, data, block).then(
      output => setTimeout(callback, 0, output),
      err => console.error(err), // eslint-disable-line no-console
    );
  }
docs: Alias for {@link render}, but uses a callback
  @param {string} template - Name of template to fetch
  @param {string} [block] - Render only this block in the template
  @param {Object} data - Data with which to run the template
  @param {function} callback - callback(output)
  
  @deprecated - Use {@link render} instead