Work on events and causes

Follow on from #17 @mythbusterma