more readable HandlerFunc signature
append Middleware to the middleware class name
separate dispatcher middleware from dispatcher
create interface for dispatcher
even more readable handler function type def
add middleware invocation to dispatcher