- Adding back more response types
- Split out some common functionality
 - simplified providing custom responses