I have a question. Do we need the unset column at all?
The unset checkbox has always been a problem since it can be confusing what it means.
However, we need a way to support being able to unset a value so it falls back to its
default value (which most times is not an empty value). This unset checkbox was the way we
implemented that requirement.
For example, how do you distinguish a property value that is set, but is an empty string
versus a value that is not set and whose value therefore becomes a non-empty default value
(an internal default value that the code would use if the property is not set)?
This is the problem the unset checkbox attempted to solve.