New TextObject subclass and various UI fixups