Why are middlewares specified as classes instead of objects?  Could things be more flexible if the caller just instantiated them before passing them in?