Break out MLText to a generic base class, add MLTextarea