State is kept explicitly now: less memory, and more functionality
wip