https://summeli.com/1475/
Implementing AntSnes with Qt part 3: Running the emulation in worker thread - Summeli.com