`exporter_instance.file_extension` ... Ha... I miss the fact that the exporter instance was returned...It shoudl not be returned from Exporter IMHO. You returned it only to access an field to get a file extension. This is code smell.

I really don't like it.