this could be useful. It may only capture static states, though, rather than the full series of events?
I should be careful to not just reinvent JSON in all this, the focus needs to be on 'append-only, edit while playing'.
although a repl which modified a JSON file in order to create the character sheet may remove much of the need for a parser, etc? Worth considering