This makes it possible to use a factory function to create a transport of the right type and not having to repeat the address when calling Transport.Connect()
For now we are planning to support Password and OAuthToken. In the future, we would like to add certificate-based authentication.