This mistake will seem obvious to most of you (see here ) but better write it here.
For those who wouldn't have understood: a "return" in a template listener will prevent this hook to be available once the return is done. Instead use a "break" command in a "switch" conditional.