Factored out Request object