SettingsValue

@propertyWrapper
class SettingsValue<T> : Encodable where T : Encodable

Wraps settings properties, making them thread-safe. All access to the internalValue should be done through the wrapper because of the thread-safety thing.