Make user context adhere to stricter functional requirements (pass it along, non-globally, and never change the input)