// set the current board - refactor - rename this method?  move these 3 lines into a different method?
        public static void SetPuzzle()
        {
            if (CurrentPuzzle == null)
            {
                throw new ArgumentNullException("PuzzleEngine.currentpuzzle");
            }

//            AudioManager.PlayMusic(CurrentPuzzle.MusicCueName);
            PuzzleTimer = 0;
            CurrentPuzzle.Statistics = new PuzzleStatistics(CurrentPuzzle.Key, CurrentPuzzleSet.ShapesDict.Count);
            Cursor.CursorMode        = CursorState.Free;
            Cursor.ScreenPosition    = PuzzleEngine.ViewportCenter;

            MainScreen.PuzzlePanel.ResetSelectedCogIdx();

            hintManager.Initialize(CurrentPuzzle.OurSolution);
        }