Rewrite of our event model