This is a little messy ... if the target node has not yet been cached (this is its first time through `getTargetNode`), 'getTargetNode' has the side effect of setting up the `transformChanged` event handler that will have the camera follow the target.  I don't like this.  I think I want to change it.