reorganize mustache helper to use a listener