new reload_user() that allows passing the user object instead of always getting it from the session