Triggering browser native events:
Since the itinerary UI element and the leaflet control still need some form of interaction, we use an event hub to trigger and subscribe to events natively.
Users could subscribe to them as well for advanced interaction
No dependency on leaflet in the itinerary:
Although unlikely, the itinerary could be used as a standalone component without a map now
The plan is to extend this to other components that do not need direct map interaction
Easier customizing:
By overriding/extending the itinerary builder, people could now only use different UI components and wouldn't have to reinvent the whole Control
This enables a few things: