Mixed OVM BFM and non-OVM BFM, what is the best way?

Hi all,
I want to build a verification env for my DUT. My DUT needs 3 BFM but what I have in hand is: One is OVM, the other two BFMs are plain system verilog. My Goal is use OVM. But I dont know what is the best approach to go for this? I think I can control two flows separate. First control OVM bfm to run, this flow is OVM. Secind flow to just control 2 non OVM BFM, but I see problem for scoreboard. I dont know how to pass around data from OVM to non-OVM environment for checking purpose.
Anyone has any experiment or ideas what is best way to handle this?
Thank you very much.

The answer depends on how your BFMs are implemented.

If they are implemented as classes and they generate stimulus using methods - wrap the BFMs in a driver and create an agent with a sequence item that allows the driver to call the methods.

If the BFMs are implemented as tasks in an interface, then create a UVM agent with the driver calling the interface tasks based on the content of the sequence item .

If the BFMs are implemented in a module, consider modifying it to include an interface from which you can call the tasks and use the above approach.

In reply to mperyer:

Thanks mperyer,
My BFMs are in verilog module. Search through the forum.
https://forum.verificationacademy.com/forum/main-ovm-forum/10100-ovm-wrapper-verilog-bfms
It seems this is one of the solution (maybe the third option ?)