Actual connection pooling
Starting to mess around with ideas for separating the db code from business logic
More refactoring