public CompletionState(int col, int row, int width, int height)
{
Col = col;
Row = row;
Width = width;
Height = height;
if (Col < 0)
throw new ArgumentException("Cannot be less than zero" + Col, "Col");
if (Row < 0)
throw new ArgumentException("Cannot be less than zero", "Row");
if (Width < 1)
throw new ArgumentException("Cannot be less than one", "Width");
if (Height < 1)
throw new ArgumentException("Cannot be less than one", "Height");
}