I don't really like this. If I see DataValues and DataValuesInterfaces side by side, i'd assume that DataValuesInterfaces contains the interfaces and DataValues the implementations - while, if I understand correctly, DataValues contains the interfaces and DataValuesInterfaces contains *more* interfaces.