Starts from a manual reapplication of changes from !20 @ e579da15 by
Adds config schema and handles missing config with existing behaviour.
Closes #3268437