Made all events final and implemented equals and hash code.