Refactor Event Class