How uvm_phases work?

In reply to dave_59:

Thanks for your response Dave.

If i may state what i understood from your statements,

  1. If we give as argument (uvm_phase phase) to a user-defined task/function, than only it becomes phase aware.

I am unable to understand your statement “But even if you do not use any user-defined phases, you can think of the phase argument as a singleton that represents the current phase state (or the this state)that is shared by all the other umm_components.”

Please help more.