Why uvm_task_phase::execute() is defined as a function?

The forked process might/might not consume time. Is task a better choice? Beside, it is called uvm_task_phase for those task-type phases which can consume time (run/main/etc). Is it a better choice to use task rather than function?

In fact uvm_task_phase::execute() contains uvm_phase::exec_task(), a non time-consuming function contains a potentially time-consuming task. It is probably OK, I just feel it is better to be defined as a task. Or I probably missed something.

In reply to chr_sue: