public CellEdge GetEdge(GridDirection direction)
 {
     Cell neighbor = Grid[this + direction.AsOffset()];
     return Grid.Edges[this, neighbor];
 }