static void Main(string[] args)
        {
            // Instrumentation & Logging
            var observer = new HostObserverSubject();
            observer.Subscribe(e => Console.WriteLine(e.Describe()));

            // Deployments
            var deploymentPath = Path.Combine(Path.GetDirectoryName(typeof(Program).Assembly.Location), @"..\..\Deployment");
            var deploymentReader = new SimpleFileDeploymentReader(deploymentPath);

            // Host
            var context = new HostContext(observer, deploymentReader);
            var host = new Host(context, 5000);

            // START
            var cts = new CancellationTokenSource();
            host.Run(cts.Token);

            Console.ReadKey();

            // STOP
            cts.Cancel();

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            // Instrumentation & Logging
            var observer = new HostObserverSubject();
            observer.Subscribe(e => Console.WriteLine(e.Describe()));

            // Deployments
            var deploymentReader = new DeploymentReader("UseDevelopmentStorage=true");

            // Host
            var context = new HostContext(deploymentReader, observer);
            var host = new Host(context);

            // START
            var cts = new CancellationTokenSource();
            host.Run(cts.Token);

            Console.ReadKey();

            // STOP
            cts.Cancel();

            Console.ReadKey();
        }