make formatters share thier API with plugins