I don't like the idea of dispatching different kinds (instances of event classes) of events to the map. Especially if we create a SelectEvent, then users would have to do instanceof checks for the event on the map. CollectionEvent is also dispatched on Collection. On the other hand, if we made the select event specifics part of MapEvent, there would always be overhead even if people do not need to deal with selection at all.