Add a generic Handler interface

Add a generic Handler interface and change the RequestHandler to be a child interface of the generic one.