public GameSquare(string name, string description, long value, GameSquareType type)
 {
     Name        = name;
     Description = description;
     Value       = value;
     Type        = type;
 }
        public static IGameSquare Create(
            GameSquareType type,
            string name               = default,
            string description        = default,
            long value                = default,
            long houseUnitCost        = default,
            long hotelUnitCost        = default,
            long[] houseRentUnitCosts = default,
            long[] hotelRentUnitCosts = default)
        {
            var gameSquare = type == GameSquareType.Property ||
                             type == GameSquareType.RailwayStation ||
                             type == GameSquareType.Utility
                ? new PropertyGameSquare(
                name,
                value,
                houseUnitCost,
                hotelUnitCost,
                houseRentUnitCosts,
                hotelRentUnitCosts,
                type)
                : new GameSquare(name, description, value, type);

            return(gameSquare);
        }