Add text field and DRY up a bunch of code shared across some methods.