trying to get rid of mutexes by using signals. Currently adapting GameStateWorker