Text conversion to other values

Delphi has
TMaskEdit that the mask can be difficult to deliver as for example currency use or floating point uses.

TFormatSettings is used with TryStrToCurr as just one function
TFormatSettings is complicated with so many undocumented settings

TEdit can be given an key down event that contains proposed TextChange and current text with a Boolean update text. this means putting a TryStrToCurr in the event with the correct TFormatSettings and not only do you obtain the updated or current value for other uses - you also have a mask that blocks the use of incorrect text.
This can be very valuable to all currency and floating point numbers but TFormatSettings is very extensive. Imagine a time picker using TFormatSettings as one filtering option as a if statement can also be added to control the date range so in the event and this can apply to all edit controls.
why is this not done?