while this might be true, the current implementation is more flexible and powerful because it provides for a possibility for customization, so maybe instead of replacing the current implementation, simply offer an additional option to either use a global profile or override the global profile with custom settings? From an implementation point of view, this should be simpler, while retaining all current functionality and at the same time providing a way for users to specify global defaults and to optionally make use of these.