Premature subscription to setting changes would cause problem in setting migrations
Some job shows various AttributeError in the migration tests, such as:
These are caused by the fact that the _on_setting_changed method has already subscribed to setting changes before the migration method. And the fact that migration is run before many properties are initialized in the Engine class constructor.
The same invisible problem would lurk in system background for old user when migrating to new settings. Although they might not affect user experience, they are preventable.