Added Event class, added tests for event publisher