private void BeginGame () {
		mazeInstance = Instantiate(mazePrefab) as Maze;
		mazeInstance.Generate();

		if (!mazeInstance.IsGeneratedMazeAccepted ()) {
			RestartGame ();
			return;
		}

		new MazeOptimization (mazeInstance);
		new ObjectsPlacement (mazeInstance);
	}