A Formatter is responsible for the initial rendering of a value to lines of text.
Note that this representation is likely to be altered later in the pipeline, for the
purpose of text wrapping and aligning. The role of a formatter is merely to give the
raw text representation (e.g. format numbers).