make sure we use just one saturation state (some factories have created
their own); experimenting with keeping a linked list of context in the
SaturationState to speed up the incremental changes initialization
stages -- not sure whether it makes sense to keep that