I think it could work. Right now we depend on `establish_connection` (in `connection_class` below), but I think it could take a hash instead of a symbol.