Move transient text to component local state