formatter warning is nicer
rework legacy formatter detection to handle cases where the formatter
inherits from us
handle "mixed mode" legacy formatters which dont implement new interface but inherit from our new interface