I'm kind of skittish about this being in access.py. It seems like a shoppingcart concern, and not a courseware one.