Use of Monitor in UVM

Why do we actually need monitor when we can send the information from the driver directly to Scoreboard or other components ?
We can thereby minimize the usage of one component.

In reply to rajeshsois:

Distributing different functionality across different components enable re-use in a better way. That’s why concept of modularity is there. Another way too look at it is, it simplifies driver/monitor code to good extent.

Also, consider a case where you only want to monitor interface only, make your agent passive and it works! We can say that combining both components reduce lines of code, but everything else comes under advantage only.