Uvm scoreboard, uvm_monitor and uvm_subscriber

Hey all, I hope you’re all doing well.
I was coding checkers for some interruption issued by DUT in scoreboard, But , I had one concern which is the timing of the check. the DUT interruption is generated after some know number of cycle, but the check is evaluated before the interrution goes high because DUT intf monitors. I want to know if there’s some idea to fix the timing so the checked is delayed to the the right cycle. I can simply do that if get vif in scoreboard then wait for the number of cycle like that

 repeat(n)@posedge vif.clk); 

but i read somewhere that it’s not recomended to get vif in scoreabord.
My idea is to get out my ref model from scoreboard then extended it from uvm_subscriber where i can handle timing. Did anybody do that before ?