This is a good question.  I went with the approach of only having one shot to override anything you need to override for now because it felt like it left the least amount of room for ambiguity.  Once we would start opening up the ability to override settings across different calls (possibly from different services), you can end up with a service making a call to change a setting, thinking the setting will take effect, and having the setting changed out from underneath it (possibly without its knowledge) later on.  We may eventually need to get to that point but I think this approach makes it more straightforward for now to understand how a setting was established.