Why not just create a Provider object directly and send it to the work?
I think I would find that a bit "cleaner" CODE.