Tidy up optional user request handling