moved some of RequestHandler work to AbstractHandler