Isn’t this already possible?
For example, you can do:
class myclass:
self.myactor.punchLeft = Sequence(
self.myactor.actorInterval('run', startFrame = 1, endFrame = 12),
Func(self.footDown),
self.myactor.actorInterval('run', startFrame = 13, endFrame = 24))
self.myactor.loop()
def footDown(self):
#put here what you want to do when the foot is down