private ICell UpdateSelection(ICell target, Color color)
    {
        ICell current = Select(RayCastFromPointer());

        if (current != null)
        {
            if (target != null)
            {
                target.DisableHighlight();
            }
            target = current;
            target.EnableHighlight(color);
        }
        else if (target != null)
        {
            target.DisableHighlight();
            target = null;
        }
        return(target);
    }