Refactor SetTransport to more flexible SetClient.