SettingsValue

@propertyWrapper
class SettingsValue<T> : Encodable, @unchecked Sendable where T : Encodable, T : Sendable

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