Formatting
Implemented Events
Added JUnit tests