On a related note, I think I getFieldVisibilityPermission() should be refactored to take a Users object instead of a userid. Grepping the 5.2.1 codebase, there are two hundred uses of this function and all of them use $current_user->id.