Einfacher ist Ansichtssache, Browser-übergreifend dagegen prima.
Dass eine Funktion eine Funktion aufruft, die eine Funktion aufruft, die wiederum eine Funktion aufruft (und immer so weiter) möchte ich dann aber doch als weniger effizient einstufen; immerhin wird hier unnötig ein Stack aufgepumpt, der dann dem Ausführen der eigentlichen Funktion fehlt (dem ersten Handler am allermeisten). Aber ok - in der Praxis tritt dieser Flaschenhals wohl eher selten auf...