callbyname azért nem működik, mert pont a másik irányból közelíti meg a kérdést, mint amit te szeretnél:
Nem egy függvényt vált ki (mint egy eseménykezelő), hanem egy már megírt függvényt lehet vele meghívni úgy, hogy nem a függvényt hívod meg közvetlenül, hanem átadod a környezetnek a függvény nevét és az argumentumokat és hagyod, hogy a futtatókörnyezet megkeresse neked. De ehhez fontos, hogy a függvények már készen legyenek. Nálad meg ugye az volna a lényeg, hogy a függvényeket ne kelljen megírni negyvenszer...