I still find this method name a little opaque (although, of course I see what it does now). Perhaps call it `visit`?