Lol, same here on Kotlin and Flows. :)
Discussion
As in, you tried it, and went back to imperative event listeners?
Yep, I reverted the code 3 times already. There is some very smart what to declare listeners, from multiple caching systems to the UI itself. But the more I go into it, the more it feels just wrong (overly complicated for minimum gain).
Cool, that's good to hear. I was like "cool, a way to avoid memory leaks". Then, 5 hours in realizing I had to deal with memory leaks.
Reactive programming is hard. In Kotlin, I have to deal with "threads" that die when updating and fail to trigger all the other updates on the reactive chain. If that happens, one or two variables stop receiving updates and part the of the app is locked until it fully restarts. :)
Sounds like fun
