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