Reorganized and refactored in preparation for adding more media type formatters