protected Slot GetOrCreateSlot(Int2 coords)
        {
            Slot slot;

            if (_slots.ContainsKey(coords))
            {
                slot = _slots[coords];
            }
            else
            {
                slot = new Slot
                {
                    Coords = coords.Clone(),
                };
                _slots.Add(coords, slot);
            }

            return(slot);
        }