Implemented an event system and a logging system