Implement activity events

WIP for Issue #112  Still need to add tests and the reactive class.