d3.customEvent(event, listener[, that[, arguments]])
Invokes the specified listener, using the specified that this context and passing the specified arguments, if any. During the invocation, d3.event is set to the specified event; after the listener returns (or throws an error), d3.event is restored to its previous value. In addition, sets event.sourceEvent to the prior value of d3.event, allowing custom events to retain a reference to the originating native event. Returns the value returned