Add EventsCapableTrait and refactor event configuration