Add a mixin for explicit handling of listening to events and getting it into state changes