Better event handling, was getting into a recursive loop with Leaflet.markercluster