Why not middleware?