Stronger Mem.forward and using it to refactor Events.