lib/classes/Variables.js/Variables/getDeeperValue
class Variables:  getDeeperValue(deepProperties, valueToPopulate) {
    return BbPromise.reduce(deepProperties, (reducedValueParam, subProperty) => {
      let reducedValue = reducedValueParam;
      if (_.isString(reducedValue) && reducedValue.match(this.deepRefSyntax)) { // build mode
        reducedValue = this.appendDeepVariable(reducedValue, subProperty);
      } else { // get mode
        if (typeof reducedValue === 'undefined') {
          reducedValue = {};
        } else if (subProperty !== '' || '' in reducedValue) {
          reducedValue = reducedValue[subProperty];
        }
        if (typeof reducedValue === 'string' && reducedValue.match(this.variableSyntax)) {
          reducedValue = this.makeDeepVariable(reducedValue);
        }
      }
      return BbPromise.resolve(reducedValue);
    }, valueToPopulate);
  }