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

... item to Cart