public async Task RunDemo()
        {
            //Only run this once to setup databases and collections
            //await InitializeDemo();

            single = new SingleMaster();
            single.TestReadLatency();
            await single.TestWriteLatency();

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey(true);

            multi = new MultiMaster();
            multi.TestReadLatency();
            await multi.TestWriteLatency();

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey(true);

            conflicts = new Conflicts();
            await conflicts.GenerateConflicts();

            Console.WriteLine("Press any key to exit...");
            Console.ReadKey(true);

            await Cleanup();
        }
        private async Task InitializeDemo()
        {
            //Run this before executing the demo to set up the database and collections.

            SingleMaster single    = new SingleMaster();
            MultiMaster  multi     = new MultiMaster();
            Conflicts    conflicts = new Conflicts();

            await single.Initalize();

            await multi.Initalize();

            await conflicts.Initalize();
        }