More refactoring: Event handling from *Base.[h|inl|cpp] to *EventSource.[h|inl|cpp]