... and of course support writing to other apps.
(1) Try all passed in formats in order if one of them fails. (2) Don't blindly accept all formats, make sure they are mime types (3) Add a bunch of special non-mime types that plug converters to get to mime types