I'm not sure; between the 2 implementations, both use some shared models and the unshared models are very specific to the mimetype used. Also, I think they're only defined in one place (for the most part).