Prepare project for multiple packages.
Isolate data source from the rest of the backend code.
Trying to customize request objects trigger typescript errors.
Respect content negotiation.
Include examples for running the package.