generator abstract listeners