The Modifiers system is composed of two Blocks working together, the ObjectModifier and the Modifier.
This is the Block that modifies the Object.
This Block connects the Modifier with the Object. For example, a skin deformation modifier needs to know the weight of each vertex for each bone, this information needs to be stored in the ObjectModifier. This way, a single Modifier can be applied to many objects, where each object would have an ObjectModifier that keeps all the local information updated.
The ObjectModifier keeps both the modifier and the object it modifies as dependencies. When the Node is evaluated, it asks to its object to evaluate itself. When the ObjectModifier is evaluated, it calls first its object dependency so it gets evaluated first, and then it calls the modifier and ask it to modify this object.