without any trickery, we'll always get two indirections. Thus, the decision is to turn the 2nd indirection into a VTable call; this way, basically the JobClosure also acts as job functor itself.