WIP
Response abstraction
Cleanup
Merge branch 'response-abstraction'