Extracted createClient to an abstract method