invoke( rez, opts ) {

    opts =
      opts
      ? (this.opts = EXTEND( true, { }, _defaultOpts, opts ))
      : this.opts;

    // Sort such that CSS files are processed before others
    const curFmt = opts.themeObj.getFormat( this.format );
    curFmt.files = _.sortBy(curFmt.files, fi => fi.ext !== 'css');

    // Run the transformation!
    const results = curFmt.files.map(function( tplInfo, idx ) {
      let trx;
      if (tplInfo.action === 'transform') {
        trx = this.transform(rez, tplInfo.data, this.format, opts, opts.themeObj, curFmt);
        if (tplInfo.ext === 'css') {
          curFmt.files[idx].data = trx;
        } else { tplInfo.ext === 'html'; }
      }
          //tplInfo.css contains the CSS data loaded by theme
          //tplInfo.cssPath contains the absolute path to the source CSS File
      //else {}
        // Images and non-transformable binary files
      if (typeof opts.onTransform === 'function') {
        opts.onTransform(tplInfo);
      }
      return {info: tplInfo, data: trx};
    }
    , this);

    return {files: results};
  }
Generate a resume using string-based inputs and outputs without touching
  the filesystem.
  @method invoke
  @param rez A FreshResume object.
  @param opts Generator options.
  @returns {Array} An array of objects representing the generated output
  files.