It is not clear what this method does, I would keep initialize clean taking only, method, action, block, and optionally next stack, and I would add a `.build` method to just reduce the `middleware_classes` to linked list of stacks.