protected void InitialiseGameScreens() { _pauseScreen = new PauseScreen(this); _gameOverScreen = new GameOverScreen(this); _startScreen = new StartScreen(this); WaitCallback loadGameCallback = new WaitCallback(LoadMainGameScreen); ThreadPool.QueueUserWorkItem(loadGameCallback); _activeScreen = _startScreen; _inactiveScreens.Add(_pauseScreen); _inactiveScreens.Add(_gameOverScreen); }