proxy factories refactor: they no longer read directly from request