Activities (WIP)

Need a different name for this because it also does generic updates, e.g. `MergeEventIntoActivities`

Also, if you keep your other listener-ish things, you only need one `CreateEvent` routine