You can store the state in the URL, can you not? That used to be done anyhow.
Having to base64 encode most/all of it so you can safely use any kind of data makes it even worse.
My use case was very basic and I quickly hit limits that made it so I couldn't "persist" all of the data I wanted.