Rex,
By definition a visitor must know about the thing it visits. Using the object reference is a perfectly valid approach. A visitor visits another object and makes it presence known by doing something to that other object, this requires a degree of external coupling because the visitor cannot affect the object visited unless it knows something about that object.
You cacn code the visitro defensively so it doesn;t crash if it visits an object that doesn't have the properties it is trying to modify by using PEMSTATUS() before it tries to touch any properties.