Using Actor or Controller for mouse events

I have some mouse over events which I want to implement. The action of these events are stored in the controller class.

As much as I can see, there are 2 ways to implement this. I want to know which of the following is more effective.

I can trace from the mouse location through the controller class and with each tick check if any object is under the mouse or not.
And store what I want in the controller.

Another option is using the actor events i.e.

virtual void ReceiveActorBeginCursorOver();

But can I know which controller did the mouse over event?