Document presenters
What does this MR do?
This introduces presenters as discussed in #23563 (closed), and a simple implementation of a base presenter & factory.
Are there points in the code the reviewer needs to double check?
Closes #23563 (closed)