public async Task StartListening()
        {
            if (IsConnected)
            {
                return;
            }
            Location = Location ?? await api.GetDefaultLocation();

            var clientId = await api.GetSocketClientID(Location);

            int port = 443;

            int.TryParse(Location.Shard.Client.Port, out port);
            Task.Run(() => { RunClient(clientId, Location.Shard.Client.Host, port); });
        }