But it's tied to the frontend, so I wrote something similar that works in plain JavaScript, without Vue or any UI layer.
I called it Reactive Proxy State ...because it is. It uses proxies and tracks deep changes. Works with arrays, Maps, Sets, Dates. Emits changes so state can be rebuilt.
Might be useful if you want reactive state outside of the frontend.