Keep the functions that add essentials for a normal config option, but have them return a builder for that type of option. Then that builder can be used to add all the optional stuff instead of overloading methods for each optional thing that needs to be made possible. This will make this system much easier to use, maintain, and expand on.
Keep the functions that add essentials for a normal config option, but have them return a builder for that type of option. Then that builder can be used to add all the optional stuff instead of overloading methods for each optional thing that needs to be made possible. This will make this system much easier to use, maintain, and expand on.