Why uvm_monitor class is not a parameterized class, while uvm_driver class is?

Why uvm_monitor class is not a parameterized class, while uvm_driver class is?
Could some one explain that? Thanks.

In reply to ningyangverificationacademy:
There is no good reason other than that is the way it is.

Almost every driver is paired with a sequencer with a port/export connection that is parameterized with the sequence_item type. There will be drivers that need more than one sequencer connection, and those ports have to be added explicitly. And there will be some drivers that may have no connection to a sequencer, so their seq_item_port and rsp_port that they construct go unused.

And almost every monitor will have at least one analysis_port, but you always have to add that manually.