Why do we use drivers?

In reply to HanP:

The reuse aspect is one of the main benefits when using the UVM. This is supported using the agent-based approach. It is reusable simply with copy/paste without any modifications. What you are doing is simply a traditional testbench approach using SV and some UVM constructs without using the power of the UVM.