The logic is similar but not duplicated:

- the method signatures are different each time
- the event class being used is different each time as well