A modified TStringGrid with extra's

TStringGrid has a maskeditor for the inplaceeditor in it but going through the calls between the inplaceeditor and the grid the only call is to access the text in the Editor.

So I replaced the inplaceeditor parent connection to a TWinControl and only an odd modification it’s stable!!!
So I have made
TFocusControlState = (fcWinControl, fcEdit, fcComboBox, fcPicList, fcSpinEdit);
So I was going to call it TTextGrid and the inplaceeditor TFocusControl
I can see even the popupmenu can be an optional item to add
any one could add advice or idea’s like what should be done with
TInplaceEditorList
Should I include a tick box
And I plan to use TFocusControlState to determine what gets created and freed