Refactor client pooling