When configuration was modified, e.g. by extensions during the initialization phase, we need to reset all service instances to ensure they are all consistent with each other, and are all based on the latest version of the configuration. However, such a reset may be expensive - we may end up re-loading bulk data, or re-establishing network connections.
To avoid this, it should be possible for a new service instance to salvage resources from a previous service instance. Basically, if the new service has the same configuration as the old one, it can copy the old one's state. However, we would also have to check whether all the services the new instance got injected also have the same config as their old counterpart.