code: function destroy(oListener) {
  		for (var n in mTargets) {
  			var oTargetConfig = mTargets[n];
  			for (var i = 0; i < oTargetConfig.listeners.length; i++) {
  				if (oTargetConfig.listeners[i] === oListener) {
  					oTargetConfig.listeners.splice(i, 1);
  					oTargetConfig.configurations.splice(i, 1);
  				}
  			}
  			if (oTargetConfig.listeners && oTargetConfig.listeners.length === 0) {
  				delete mTargets[n];
  				oTargetConfig.object._observer = undefined;
  			}
  		}
  	}
docs: removes a given listener by looking at all registered targets and their listeners. if there are no more listeners to a target, the registered target is removed from the mTargets map.