A save is not one undifferentiated snapshot. Each gameplay system contributes a versioned chunk, and restoration applies those chunks in a defined order.
The order is part of the contract. Derived state cannot safely restore before the base state it references exists. A factory graph needs its definitions and ownership context. Progression-dependent systems need progression. Making that order explicit turns accidental initialization timing into a format that can be tested.
It also gives migrations somewhere to live. A system can recognize an older chunk version and upgrade its own data without a central save object learning every historical detail of every plugin.