I wonder if there is stuff that can be reused from o.e.common.Explicit - it holds values but remembers the differences between settings that were based purely on defaults and conscious decisions made by users ("explicit").