This won’t be backwards-compatible, and it would mean that the listener callback signature is different from the standard D3 pattern, but it would simplify things and fix a common memory leak as described in #186. If you need information based on the index and group, you could bake it into the data instead.