patch router to provide req/res objects to direct methods, note this changes the method API