code: private boolean substitute() {
  		boolean madeChange = false;
  
  		for (String key : backing.keySet()) {
  			madeChange = madeChange || substitute(key);
  		}
  
  		return madeChange;
  	}
docs: Iterates through the values, looking for values containing ${...} strings. For those that do, we substitute if
  the stuff in the {...} is a defined key.
  
  @return true if any substitutions were made, false otherwise.