public Maze CreateMaze(DefinitionFile definitionFile) { var maze = new Maze { MazeSquares = new List <MazeSquare>() }; SetMazeWidthAndHeight(ref maze, definitionFile.BoardSize); AddMazeSquaresToMaze(ref maze); IdentifyPerimeterDoors(ref maze); _mirrorService.AddMirrorsToMaze(ref maze, definitionFile.MirrorPlacements); return(maze); }