Use the cart instead of manipulating the session everywhere