The outcome after a discussion with github.com/inferno-:
(In the current design) it's volatile to have fields in user defined RequestHandlers in conjunction with asynchronous calls. (intermediate request (to same RH) could change the state of the RH)
We should investigate the performance impact for dynamic creation of RH.
1, Map<String, RequestHandler> => Map<String, Class<RequestHandler>>
2, Application.getHandler should create the appropriate RequestHandler using reflection.
3, UT / benchmark