
Das Unbehagen, überkommene "Anforderungen" über Bord zu werfen kann ich gut nachvollziehen...
MYSENSORS.* ist aber (wie MQTT-Classic) etwas "speziell", weil es - obwohl zweistufig - keine ParseFn kennt. (Das ist - im Sinne einer strukturierten Eventverarbeitung - nicht gut, aber schwer zu ändern!)
Fragen aber gerne - wo auch immer. Notfalls hier weiter OT, obwohl es Boris wohl davon abhält, das einzuchecken

...
(Ich habe bewußt weggesehen, was elsif-Kaskaden oder return undef; angeht, aber das jetzt hier auch noch abzuarbeiten, war/ist nicht mein Anliegen!)
@KNX.pm:
Die doku bzgl. "return undef;" dürfte auch schlicht dem bisher üblichen "common style" entsprechen, aber funktional kann man nach meiner Erfahrung auch ohne weiteres PBP-"pur" fahren. Soweit ich das im Kopf habe: Nur, wenn die aufrufende Funktion ein Array erwartet, ist "return undef;" funktional was anderes als "return;" - und das sind die allerwenigsten Funktionen...
Schon gleich, was die Frage der Aufrufe "von extern" angeht - du hast das eingepackt, außer "Initalize" ist keine Funktion mehr unter dem alten Namen aufrufbar, und wo du modulintern selbst ein Array erwartest, müsstest du recht schnell klären können.
Also "hau es weg", teste es eine Woche, und dann ab mit "return pur" ins svn.
Just my2ct.