Updated to use IEvent