In https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/EventBus/+/460463/ I've started converting the event creation code from the hooks into a new EventFactory class with more narrow interfaces. That class is much easier to cover with unit tests. This task is created to track the completion of the work - all the events should be created in EventFactory and all of them should be covered with unit tests.
We probably want to separate the work into multiple stages in order to avoid deploying a huge change in a single step for risk mitigation. Preferably, the interfaces for factory methods should be as narrow as possible, for example using LinkTarget instead of a Title, RevisionRecord instead of Revision etc.
The best way to test this is via Vagrant and eventbus role.