the handler will return a ResponseHolder
the handler itself can have some middlewares that will be executed before it as a local middlewares
the pathTemplate of a handler can't be null
the handler processor should return the ResponseHolder as the final stage of the pipeline
because the pipeline will be closed after the handler processor runs
the handler will return a RequestHolder or ResponseHolder
if the return is RequestHolder it will pass it to the next pipeline entity
if the return is ResponseHolder it won't be passed to the next pipeline entity
the pathTemplate for a middleware can be null, so it will be executed on all paths requested for a router