This would allow the shutdown event to be handled independently: * https://www.g-loaded.eu/2016/11/24/how-to-terminate-running-python-threads-using-signals/ * https://www.oreilly.com/library/view/python-cookbook/0596001673/ch06s03.html * https://www.geeksforgeeks.org/python/python-different-ways-to-kill-a-thread/