Introduces a database struct.  Moves transaction management internally to database struct.