Added support for the middleware method Init(), designed to allow
middleware to initialize itself before it is added to the route stack