Parameterize UVC

Hi Can anyone share the best approach to develop parameterize UVC ?
Example of need can be multiple AHB masters in TB and all are supporting varying address and data width.
I read the paper “Deploying Parameterized Interface with UVM” but in that case scoreboard is not shown and i have concern about handing different address and data width inside scoreboard.

In UVM can we create parameterized Driver, Monitor, agent, interface and sequence item and sequences ? I dont see `uvm_sequence_param_utils in list of macros so i was not sure how sequences can be parameterized. anyone has gone thru the same and have good approach ? please share.

In reply to Svlearner:
That paper was about decoupling the parameters in the interface from parameter-less driver/monitor classes using abstract/concrete classes.
Also, uvm_sequence_utils has long since been deprecated. you would just use uvm_object_param_utils if that is what you are going to doi

In reply to dave_59:

Thanks Dave. appreciate the response. Is there any other better approach you can share for this type of requirement? Does creating all or majority of classes parameterize introduce new challenges or disadvantage which you are aware of ?

Thanks