Move implementations to source file. Add new methods to check for loaded or non-default config data.
Note that loaded and non-default data are completely independent from each other. Loaded data may or may not match default data. Data may be non-default either because a non-default value was loaded, or because the value was updated at runtime.
A config file not existing, or existing but not containing any data will results in no loaded data (as will not calling load or loadData).
Move implementations to source file. Add new methods to check for loaded or non-default config data.
Note that loaded and non-default data are completely independent from each other. Loaded data may or may not match default data. Data may be non-default either because a non-default value was loaded, or because the value was updated at runtime.
A config file not existing, or existing but not containing any data will results in no loaded data (as will not calling
load
orloadData
).