Added event factory and updated .Events