void InnerAdd(Control control, int x, int y)
{
if (dimensions.IsEmpty)
throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, "You must set the size of the TableLayout before adding controls"));
var cell = Rows[y].Cells[x];
SetParent(control, () => {
cell.Control = control;
Handler.Add(control, x, y);
}, cell.Control);
}