This class is quite nice!
Do you think we could make it a trait and use in other places? ie. schema metadata