private void AcceptLoop(IPresentation personality) { Console.WriteLine("in accept loop"); while (true) { MessageChannel newChannel = personality.AwaitNextConnection(); Console.WriteLine("accepted"); _channels.Add(newChannel); // TODO: we're going to need to maintain a list of "canonical" clients for each personality at some point newChannel.MessageReceived += ((msg) => MakeActionAndDispatch(msg, newChannel)); newChannel.ChannelClosed += (() => OnChannelClosed(newChannel)); } }