Calling this property `cartState` makes this class pretty un-generic. Maybe it should just be `state`?