This is nice. I tried to work out with a home-baked version of that for a while, because it had to be done, basically it is Cycle.js without the "drivers" thing, which is annoying.<p>Then I moved to some hybrid approach with dreno[1].<p>But since there were some corner cases which the framework didn't cover, I've settled later with karet[2], but using it like I did with dreno, not treating state as semi-local as they do on the TodoMVC.<p>[1]: <a href="https://github.com/fiatjaf/dreno/blob/master/docs/why.md" rel="nofollow">https://github.com/fiatjaf/dreno/blob/master/docs/why.md</a><p>[2]: <a href="https://github.com/calmm-js/karet" rel="nofollow">https://github.com/calmm-js/karet</a>