Scaling UVM test bench

I have a design that has 4 inputs and an output. I have built a UVM testbench which verifies the DUT. Suppose in the future if I add 4 more inputs and an output which has the same functionality, how do I scale my testbench to accommodate this. Should I build a separate agent with sequence_item, sequence, sequencer, driver, monitor, and scoreboard? or should I make changes in the existing testbench? I would like to know the industry approach.

In reply to Krishna9:
In this scenario, the newly added the interface signals is same as old interface. so the same agent, monitor, sb, and driver will be used. In the new design, there will be two agents instances. In the top level, there will be two instances of the interfaces. each instance will connect with its respective signals in Design.

In reply to kddholak:

Since there are two instances of the agent, the driver in instance1 will have to get the first interface, and the driver in instance2 will have to get the second interface. How can this be done since we have only one uvm_driver code?

In reply to Krishna9:

This is correct. You have 2 agents of the same type with the same components. But you might get different seq_items from the sequencer and the driver will drive then different values. Both agents are completely seperate and independent.