Implement most of the features of TextField

Why `1` by default, out of curiosity?