use CartItemAvailabilityBase and ICartItem from bda.plone.cart