protected BombedMazeFactory(MazeFactoryParameters p) : base(p) { }
public new static MazeFactory CreateInstance(MazeFactoryParameters p) => _instance ??= new BombedMazeFactory(p);
protected MazeFactory(MazeFactoryParameters p) { Message = p.Message; }
protected EnhancedMazeFactory(MazeFactoryParameters p) : base(p) { }
public static MazeFactory CreateInstance(MazeFactoryParameters p) => _instance ??= new MazeFactory(p);