On second thought, on reason for the factory approach and then having serializers self-register (which come to think of it is better) allows someone to write their own serializer and hook it into crichton representors. That is why there is the self-registering of serializers in Crichton. I think we actually want to maintain this pattern. @brutski is up on this and you can see the base class here for serializers:

https://github.com/mdsol/crichton/blob/develop/lib/crichton/representor/serializer.rb#L29-L48

You can use this base class to self-register and then factory can use media-types. I think we should fix this. If you want to do it in a separate PR, that would be good.