public async Task <string> ConnectAsync(ICredentials credentials = null) { // establish connection await Client.ConnectAsync(); // authenticate credentials = credentials ?? new CredentialsBase(); SessionId = await credentials.Authenticate(this); return(SessionId); }