[major] Use `supply` to handle all our middleware needs