Related: #57
At present, we are not certain which persistence mechanism (OPFS, chrome.runtime.storage, IndexedDB) we are going to use for the kernel in the web setting. To ensure we don't make the kernel dependent on the semantics of any particular persistence mechanism, we should establish a lightweight persistence abstraction that can be implemented over any of these mechanism.