refactor Socks.ClientConnection to Socks.Session