Anchoring an Object3D to the initial point within another Object3D that is rotating

Been playing with the different rotation functions on an Object3D and it’s not working. Hopefully there is a quick solution for my question. I basically have a Sphere here, although it could be any other geometry, and I have in this example, a DirectionalLightHelper that is positioned initially at the top of the Sphere. The Helper is targeting a random Object3D. If the Sphere translates, I can maintain the Helper to the top of the Sphere.

It is when the Sphere starts to rotate on all 3 axis that things gets complicated.

Is there a function to use that can match the Helper’s location to that of the original top of the Sphere?

I’m thinking wrapping the 2 objects inside a Group may work, but I need to find out how to do it without a Group. Changing the center of rotation of the Helper to match that of the Sphere may do the trick.