In this commit, we let the registered middleware interceptors be stored in a slice rather than a map so that the order in which the interceptors are executed is guarenteed to be the same as the order in which they were registered.