Make ResponseWriter an interface with an unexported method. Implementors must embed a ResponseWriter from elsewhere. This gives us the flexibility of an interface while allowing us to add new methods in the future.
Make ResponseWriter a struct again so that it can be extended in a backwards-compatible way.