As you pointed out in the future we will have more data, but it is not obvious yet where this data would go. For instance information about licensing does not seem to belong to cart nor cartItem so maybe it shouldn't be stored there? I anticipate refactoring to be done to it in the future (when we have more data about data) :)