Restructure with Adapter pattern, add tests, add support for response types
Merge branch 'include_response_models'