docs: function concatenation(concatConfig, concatTargets, compiler) {
    var sources, target = concatTargets.shift();
    if (target) {
      sources = concatConfig[target];
      if (!Array.isArray(sources)) sources = [sources];
      sources.forEach(function(item) {
        var file = app.fullPath(app.paths.public + item);
        var ext = assetUtil.getExt(file);
        compiler.getSource(item, target, 'concat');
      });
      compiler.exec(function(err, compiled) {
        if (err) {
          throw err;
        } else {
          var ext = assetUtil.getExt(target);
          switch (ext) {
            case 'css':
            case 'js':
              var source = compiled.join('\n\n');
              target = app.fullPath(app.paths.public + target);
              instance.writeFile(target, source);
              break;
            default:
              throw new Error("Asset Compiler: Extension not supported: " + target);
          }
          concatenation(concatConfig, concatTargets, compiler);
        }
      });
    } else {
      instance.config.concat = concatConfig; // Set new config once concatenation is done
      app.emit('asset_compiler_concat_complete'); // Runs even without targets to concat
    }
  }