Refactored settings loading to throw meaningful exceptions