Event Repository + General Refactoring