Adding a solution inspired by Quake 3 that just uses AutoResetEvents (no lock(object))
Renamed gameLoop and some other small refactorings