Enhanced settings functionality

This all definitely feels like the responsibility of a `settings` module. I'd suggest we move all the settings loading strategy in there