The compute graph being saved (gives access to FieldReaders through the only allowed path).
A mapping between the KernelSourceCode (whose 'equals' is based on its MD5 hash) and an integer id
A map of VirtualFieldRegister to an integer id.
The KernelCircuit is a "web of objects" that must be saved in a particular order that requires some global state. These collections are mixed into the ObjectSaver to permit this.