How to intercept the event of a modifier being applied to an object?

I want to intercept the application of a subsurf modifier on a poly-mesh primitive, for example, and set/unset some attributes of the mesh and the modifier. How could I go about it?

I can achieve the end result in other ways, of course. But I want to learn if/how this could be done.