Enforcing people to extend from a class is a bit annoying. You know the "prefer composition over inheritance" tip, don't you? :)

If we need API specific to the HTTP context (`getResponse`, `setResponse`, `getRequest`, `setRequest` mainly) then let's define them in an interface and code against that.