Use promises where possible
Renamed "createConnection" -> "createClient", and "createClient" -> "createServiceClient"