code: function (selectorStr, eventName) {
  				if (typeof selectorStr !== 'string') {
  					eventListener.stopListening.apply(this, arguments);
  					if (selectorStr !== undefined) { return; }
  				}
  
  				if (RUNTIME_CHECKS && arguments.length > 1 && typeof eventName !== 'string') {
  					throw '"eventName" argument must be a string';
  				}
  
  				var eventDelegates = this.__private.eventDelegates;
  				// No event name means all event names
  				var eventNames = eventName !== undefined ? [ eventName ] : Object.keys(eventDelegates);
  
  				for (var i = 0, n = eventNames.length; i < n; ++i) {
  					eventName = eventNames[i];
  
  					var delegatesForEvent = eventDelegates[eventName];
  					if (!delegatesForEvent) { continue; }
  
  					if (selectorStr && selectorStr !== '*') {
  						delete delegatesForEvent[selectorStr];
  					} else {
  						// If no selector string has been specified, remove all event delegates for the event name
  						eventDelegates[eventName] = {};
  					}
  
  					if (Object.keys(eventDelegates[eventName]).length === 0) {
  						delete this.__private.eventDelegates[eventName];
  						eventListener.stopListening.call(this, this.el, eventName);
  					}
  				}
  			}
docs: Augments {@link bff/event-listener#stopListening} with functionality for stop listening to delegated DOM events.
  @instance
  @arg {string|Object} [selectorStr] - If provided, only delegated event callbacks for the given selector string will be removed. The special wildcard value `*` means _any_ selector. If anything other than a string passed, the original stopListening implementation will be used.
  @arg {string} [eventName] - If provided, only callbacks attached to the given event name will be removed.