We'll have to do this for every formatter, which would mean maintaining both sets of formatters simultaneously. 
The idea of the mix-in is to add a translation layer on top of one implementation rather than splitting the implementation...