More refactoring: create generic view class with content negotiation decorators, etc.
More refactoring: move generic content negiation view to separate module