static void Main(string[] args) { using (var config = new ServerConfig(1)) { config.When <int>() .From <MyCommand>() .Call <MyHandler>(); config.Channel <MyChannel>() .When <int>() .From <MyCommand>() .Call <MyHandler>(); using (var channel = config.Channel <MyChannel>()) { channel.When <int>() .From <MyCommand>() .Call <MyHandler>(); channel.When <int>() .From <MyCommand>() .Call <MyHandler>(); using (var inner = channel.Channel <MyChannel>()) { inner.When <int>() .From <MyCommand>() .Call <MyHandler>(); inner.When <int>() .From <MyCommand>() .Call <MyHandler>(); } using (var when = channel.When <int>()) { when.From <MyCommand>() .Call <MyHandler>(); when.From <MyCommand>() .Call <MyHandler>(); } } using (var server = config.Create()) { // server.Listen("127.0.0.1", 4000); } } }