event list refactor