Refactors Cart so that new carts are only generated when user adds first item to Cart