public bool DeleteBlock(Coordinate position)
        {
            if (!HasBlock(position))
            {
                return(false);
            }

            var block = GetBlock(position);

            ClearPipes(position, block.PipesWithBothEdges);
            ClearPipes(position, block.PipesWithOneEdge);
            DeleteShipComponent(position);
            blueprint.RemoveBlock(position);

            return(true);
        }