This feels like a good middle-ground.
I didn't want this to be a factory method, or return an instance.
That seemed like overkill for formatting.
But I don't want to place if and case-statements everywhere in the
formatters.
I hope this doesn't violate single-responsibility principle or any other
guidelines.