A generic connection pool