Refactor event methods