Changed the ESClient and IOlient to inherit from JSONClient and made
JSONClient an abstract class