A "ValueExtender" service would now which values can be normalized or expanded in which way. It would go through all the Snaks in a data model, and add derived values to PropertyValueSnaks where appropriate.
PS: "extender" is a silly name, think of something better.