The WidgetTitleUpdater is implemented in an imperative way through its listening of the UPDATE_WIDGET_TITLE
event that is thrown in different parts of the widget.
The goal of this refactoring is to have a more event based approach where instead of asking an update of the title by raising the dedicated event, WidgetTitleUpdater is now listening to different events thrown by the widget and decides when to update the title itself.