Extracted EmulatorThreads into separate classes