public FriendsList(IUpstreamConnection connection, Irc.IRawMessageConnection downstream, Configuration conf)
        {
            this.downstream = downstream;
            this.client = connection.Client;
            this.mapper = connection.Mapper;
            this.config = conf;
            client.Friends.FriendOnline += GridClient_FriendPresenceChanged;
            client.Friends.FriendOffline += GridClient_FriendPresenceChanged;

            downstream.Register(this);
        }
        static void Main(string[] args)
        {
            var config = new Configuration(args);

            Socket socket = Listen();

            while(true)
            {
                var connection = socket.Accept();

                var us = new UpstreamConnection("https://login.agni.lindenlab.com/cgi-bin/login.cgi", "agni.lindenlab.com");
                var ds = new Irc.ClientConnection(connection, us, us.Mapper);
                var friendlist = new FriendsList(us, ds, config);
                ds.Run();
            }
        }