Adding Event class, hopefully it isn't TOO bad