code: function (mChangeListeners, sPath, oValue, bRemoved) {
  			Object.keys(oValue).forEach(function (sProperty) {
  				var sPropertyPath = _Helper.buildPath(sPath, sProperty),
  					vValue = oValue[sProperty];
  
  				if (vValue && typeof vValue === "object") {
  					_Helper.fireChanges(mChangeListeners, sPropertyPath, vValue, bRemoved);
  				} else {
  					_Helper.fireChange(mChangeListeners, sPropertyPath,
  						bRemoved ? undefined : vValue);
  				}
  			});
  
  			_Helper.fireChange(mChangeListeners, sPath, bRemoved ? undefined : oValue);
  		}
docs: Iterates recursively over all properties of the given value and fires change events
  to all listeners. Also fires a change event for the object itself, for example in case of
  an advertised action.
  
  @param {object} mChangeListeners A map of change listeners by path
  @param {string} sPath The path of the current value
  @param {object} oValue The value
  @param {boolean} bRemoved If true the value is assumed to have been removed and the
  change event reports undefined as the new value