EventList refactor with directives