The tooling has improved immensely. Unify (
https://unifyjs.io/docs) aims to be a complete state management solution, avoiding the need for client side state management frameworks like redux. It abstracts away all of that boilerplate code.
Thinking about systems in terms of events is a pretty big shift in thinking but worth learning to add to the tool kit!