UVM-FM: Reusable Extension Layer for UVM to Simplify Functional Modeling