One of my scripts makes heavy use of classes.  Whenever I enable that script, anything I try to write to the state variable doesn't persist between sessions:  During the session, it appears to stick (and everything else works perfectly), but as soon as I restart the sandbox, the state variable reverts in its entirety to whatever it was before I enabled the class-based script. I'm aware of the limitations of the state variable (i.e. it can't hold objects, instances, functions or anything else that can't be JSON.parsed), and I've gone so far as to attempt a blatant: state . VAMPIRE . Assets   =   JSON . parse ( JSON . stringify (state . VAMPIRE . Assets )) ... as the very first line of code in the script, and again as part of a function I can call through an api chat command.  No matter what I try, I'm unable to get the state variable to stick. I do use classes in other scripts, but not to the extent of my new Assets script.  I really hope someone can help guide me in the direction of a solution, because I've noticed huge performance improvements when I convert all of my sandbox objects to class instances and rely on those to manipulate elements on the screen! I wish I could provide more information to help you help me, but short of posting the entire script, I honestly have no idea where the problem is coming from.  Here's a link to a pastebin of the entire script , just in case it's helpful, plus a wee table of contents as the very least I can do: initialize() is at line 18 class definitions begin at line 101, with this structure: class Asset (line 101) class Image extends Asset (line 328) class Text extends Asset (line 498) remaining functions begin at line 596