Set/get of virtual interface

Hello Forum,
What is the reason that we are setting the virtual interface in tb_top.svh module? I understood that it is top file and setting from the top and available to every component makes sense. But setting the virtual interface in the uvm_component class like base test also seems to be right. But in my view, instead of setting in the module, we can set the virtual interface in class, and can get the value from the class. Means setting and getting in the class is more structured way of doing the things. Please help me if I am missing something.

Thanks and Regards
Sunil Sharma

In reply to sunils:

We are setting the virtual interface fro the toplevel module because there is the instance of the corresponding SV interface.