Generic shopping cart implementation