refactor and remove GlobalSettings.kem

**please review**
This interrupts the main thread, do we really need that? Main thread can still continue waiting for other tasks(running new tasks) and report the results.