self.pool must exist prior to the super constructor running, as the base class may call 'get_new_connection' during __init__