Working with real-time, event-driven architecture is hard. In programming languages, there have been notable advances in providing proper abstractions for event-driven programming. Frameworks such as Apache Spark or Akka Stream have managed to employ abstractions inspired by the functional programming paradigm, such as Stream and Future, to great effect. …