Ressurrect the events branch. NOTE: it's a work in progress