Split Yaml listener out into two files as the implementations are incompatible