Work on events and causes

Follow on from #17 @mythbusterma 
FYI, This doesn't compile, but it is apart of the main sauce. Leaving it for now..