Sometimes there is a need to dynamically change configuration defaults, based on other configuration. We see this kind of behavior in some extensions as well as the dynamic config of the WMF cluster. Traditionally, this has been done in an "extension function" callback, but these callbacks are called only at the end of Setup.php, which may be too late: the service instance that needs the configuration may already have been instantiated (see T275334 and T184837).
To resolve this issue, we hook specifically designed for manipulating configuration objects should be introduced.