How do I use buf or nmos build in modules inside interface

I am writing bus functional model for i2c protocol. I am using SystemVerilog interface to implement it. How do I use buf or nmos build in modules inside interface?

If it cannot be used. How do I implement bfm object which can be passed to different class which uses these build in modules?

In reply to vivekraj@pdx.edu:

There is no need for buf or nmos primitives. You can use a continuous assignment with strengths.

tri1 SDA;  // a wire with a pullup

assign (highz1, strong0) SDA = expresion;

This assigment works like an open-drain which only can pull the net to 0.