public static void OnExit()
 {
     try {
         Process.GetProcessesByName("erl").ToList().ForEach(o => o.Kill());
         Process.GetProcessesByName("epmd").ToList().ForEach(o => o.Kill());
     } catch (Exception ex) {
         Debug.WriteLine(ex.Message);
     }
     CoreWatcher.Abort();
 }
 static void StartThreads()
 {
     CoreWatcher = GetCoreWatcherThread();
     CoreWatcher.IsBackground = true;
     CoreWatcher.Start();
     PacketServerThread = new Thread(() => PacketServer.Instance.Start())
     {
         IsBackground = true
     };
     PacketServerThread.Start();
     GuitarListenerThread = new Thread(() => GuitarListener.Instance.Start())
     {
         IsBackground = true
     };
     GuitarListenerThread.Start();
 }