Kernel interface that takes a request

Can be used for middlewares