See #40206 for one example of the problem direct binding currently causes. We'd like to have a package-private `ApplicationProperties` that we bind to then use `PropertyMapper` (or something similar).