In reply to rgarcia07:
uvm_component is sort of a composite pattern in terms of the tree structure it creates. The traversal of the component hierarchy is used to manage the configuration and factory overrides, as well as traversing the hierarchy to execute the different phases of the UVM.