Moved shopping cart environment logic to it's own class