I have been working on a similar programming model for a while, where this kind of state management is the only approach:
https://github.com/sunesimonsen/dependable-view https://github.com/sunesimonsen/dependable-state
The library has other kinds of agendas like being able to run without a build step, being really small and allow multiple versions in the page.
Examples: https://github.com/sunesimonsen/dependable-example-hackernew... https://github.com/sunesimonsen/dependable-example-todomvc