Hi Jason @veganrogue ,
There are several possibilities (you could make something in Geometry Nodes, for instance), but I think the easiest might be using (a) Constraint(s), like so:

Sorry for not naming the Objects. The Plane.001 and Plane.002 are just Copies of the Plane with its Child.
For even more control over how fast the bubble moves, when the beam rotates, you could use Drivers instead.