I thought this part of my implementation was a little confusing.  I have a model to represent the original image, `Image`, and another model for different versions, `ImageVersion`.  An `Image` can have many `ImageVersions`.  I ended up with this solution because I couldn't find a way to keep versioning in the uploader while also allowing versions to be manually set.  If a user has the necessary image versions, they should be able to upload them.  As far as I know, the `version` block doesn't allow that.

Should users be allowed to upload image versions?  If so, is there a way to do it with a single model?