ShoppingCart2 - preventing logic leaking to environment?