Wenn der Callback kein Sender-Objekt vorsieht, musst du das wohl oder übel über jeweils ganz eigene Prozeduren machen
Wenn die Zurückgerufenen dynamisch sind, wird das aber mindestens so ekelig, wie das Assembler-Gefummel um den self-Parameter raus zu bekommen. In dem Fall wäre es ggf. sinnvoll zu überlegen, die Callbacks seriell zu gestalten. (Das wäre jedoch nur sinnvoll, wenn der Callback einmalig geschehen soll, bzw. ein sonstwie definiertes Ende hat.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)