Organize code even further to improve extensibility.
Use more compact data structures for content negoatiation.
Provide utility types for resource schema validation. Also handle each step for POST and PUT handlers.
Properly return data updated from data source.
Respect content negotiation.
Ensure requests are properly handled.