Add TileFactory class