UVM Framework difference in function virtualization between scoreboard classes

I’ve noticed in UVMF_2021.1 that write_expected and write_actual are defined as virtual functions in uvmf_scoreboard_base and uvmf_out_of_order_scoreboard. However, in the other scoreboards these functions are declared non-virtual. Is there a reason why? I’m worried that deriving custom scoreboards from anything other than uvmf_scoreboard_base will cause any custom write_expected and write_actual functions to not be called.

In reply to tonyle:

A method defined as virtual is always virtual in extended classes regardless of being declared virtual in the extended class. You may override the write_expected and write_actual methods in an extension of any UVMF scoreboard.

In reply to bob_oden:

Great! Thanks for clearing that up.