private static void RunThreaded()
        {
            //Set up cancellation token
            var tokenSource = new CancellationTokenSource();
            var token       = tokenSource.Token;

            //Start Threads
            Task[] tasks = new Task[options.ActualThreads];
            for (int i = 0; i < tasks.Length; i++)
            {
                int threadno = i;
                logger.AddType(threadno.ToString());
                tasks[i] = Task.Factory.StartNew(() => SubscribeThreaded(threadno, token), token);
            }

            Console.WriteLine("Subscription Started. Hit enter to quit");
            Console.ReadLine();
            tokenSource.Cancel();
            tasks.ToList().ForEach(x => x.Wait());
        }