Ich denke TiGü hat die schon die richtige Antwort gegeben.
Du könntest aber auch eine
TList<TProc>
oder
TList<TArgProc>
verwenden.
TArgProc = reference to Procedure (Const Args : TArray<TValue>);
Den Callback von jeder Form speichern. Fertig. (fast)
Vergiss es, nimm lieber den System.Messages Ansatz...
Die paar Taktzyklen..