docs: function expandVariables(service, processNumber) {
    // first the simple case of env, which is always an object.
    service.env = _.reduce(service.env, function(result, v, k) {
      var value = typeof v === 'string' ? v.replace(/%i/g, processNumber) : v;
      return (result[k] = value, result)
    }, {});
  
    // next, the more annoying usecase of args which can be
    // an array on an object.
    if (_.isArray(service.args)) {
      service.args = _.map(service.args, function(arg) {
        return typeof arg === 'string' ? arg.replace(/%i/g, processNumber) : arg;
      });
    } else {
      service.args = _.reduce(service.args, function(result, v, k) {
        var value = typeof v === 'string' ? v.replace(/%i/g, processNumber) : v;
        return (result[k] = value, result)
      }, {});
    }
  }