I've been thinking, perhaps we need to introduce the concept of Hydra::Conversions (below are some ideas that would need fleshing out):

* Hydra::Conversions.to_tempfile(obj, &block)
* Hydra::Conversions.to_mediatable_object(obj)
* Hydra::Conversions.to_presented_object(obj)
* Hydra::Conversions.to_form_object(obj)
* Hydra::Conversions.to_policy_object(obj)
* Hydra::Conversions.to_collectable_object(obj)

Define interfaces and contexts for what we mean. Right now I am in module mixin soup and its hot and too salty. I'd rather have simple objects/services responsible for one thing.