Refactored Formatter to have more easily overridable pieces without so much coupling.