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).