Abstracting common functionality across clients into Client base class