code: function expandReference (text, reference, value) {
    // Shorthand $property has to have whitespace around it, we need to restore them
    var shorthandRe = new RegExp('(\\s)\\$' + reference + '(\\s)', 'g');
    // Formal ${property} can be smooshed in between other text like this X${property}Y
    var formalRe = RegExp('\\${' + reference + '}', 'g');
  
    var newText = text.replace(shorthandRe, (str, one, two) => one + value + two);
    newText = newText.replace(formalRe, value);
  
    if (text !== newText) {
      debug('FILTERED > ' + text.trim() + ' >> ' + newText.trim());
    }
  
    return newText;
  }
docs: Given some text, we go through and find $shorthand references and ${formal} references
  and replace them with the provided value.
  
  @param {!string} text the text to process
  @param {!string} reference is the name of the reference we will replace
  @param {!string} value is the what the reference will be replaced with
  @returns {!string} text with reference replaced with value