rather than passing the file (which is a fileinfo record and not a file, really) I'd prefer that you just pass the rotation and mirrored values since those are the only things you're using, right?  Actually, you could probably just pass them to the ImageEditor() constructor and save them.  That seems like the right place to do it.