Pull request out so that client can handle requests in a custom way