Add puzzle pool management to PuzzleList class