Following a reactive approach to development is like setting up defenses in a tower defense game. You set up your pipeline of operators, each with its own skill and its own preferred target - and that’s it. Allow the application to send in the events and watch the operators do the their thing.
A well written reactive application reads well too, not unlike observing the top-down view of a tower defense map. To determine what happens when that one event occurs, just follow the path and see which towers it goes by. Assign callback functions to semantically named bindings and it reads like a roadmap for the data that’s running through the course.