Response as an abstract type

Hiding the data constructor for Response. This mirrors the
structure of Request.