The app state is just a class. State updates are methods in the class. And the UI is a reflection of the state.
It's rare to see this sort of clarity on a landing page. Even more impressed to see that it carried over into the documentation, which is excellent.
I've been a fan of the plotly/Dash framework, but this looks like an exciting alternative, feeling more immediately accessible without some of the quirks (like the pragmatic but weird-feeling 12 virtual columns, for example). I look forward to re-implementing some existing projects for comparison.