Represents a single setting field with type-safe get/set operations.
DataStore key name
UI metadata (null for @Persisted-only fields)
Property name in the data class
Get value from model
Read from preferences
Set value in model (returns new model)
Write to preferences