index.js
function addExtras(callback) {
      var n = 0;
      async.eachSeries(data._peopleInfo || [], function(personInfo, callback) {
        var set = { $set: { } };
        var extras = { };
        // Clone the object so we can modify it
        extend(true, extras, personInfo);
        // We're setting the rank.
        if (self._peopleSortable) {
          extras.rank = n;
        }
        // Do not redundantly store the ID
        delete extras.value;
        set.$set['groupExtras.' + snippet._id] = extras;
        n++; //We're incrementing our counter for sort order
        return self._apos.pages.update({ _id: personInfo.value }, set, callback);
      }, callback);
    }
function addExtras(callback) {
      var n = 0;
      async.eachSeries(data._peopleInfo || [], function(personInfo, callback) {
        var set = { $set: { } };
        var extras = { };
        // Clone the object so we can modify it
        extend(true, extras, personInfo);
        // We're setting the rank.
        if (self._peopleSortable) {
          extras.rank = n;
        }
        // Do not redundantly store the ID
        delete extras.value;
        set.$set['groupExtras.' + snippet._id] = extras;
        n++; //We're incrementing our counter for sort order
        return self._apos.pages.update({ _id: personInfo.value }, set, callback);
      }, callback);
    }
Extras like job titles are stored in an object property for each person:  { title: 'Bob Smith', groupExtras: { someGroupId: { jobTitle: 'Flosser' } } }