Robert Bradshaw planned a simple abstract base class. I implemented a simple demo of it, which is here:
http://sage.math.washington.edu/home/wstein/days/17/db/