Why not use "Observer Pattern" for this? You can add an Object to your body and trigger the actions the attached classed hold. If you want to refine it, you can create a specific method inside each Observer object that defines the stage of the execution. This will likely be more programming at first, but gives a very clean interface for attaching more functionallity to your classes.
For a concrete examample, this IBM dev article (btw its worth reading as a whole) should give you a nice impression of this pattern.