Text you can select with the pointer and copy out of.
render handles pointer selection; surface adds keyboard focus and copy. Selection state stays with the caller so lists can share one selection.
render
surface
doc
selection
focus