Simplify listener flow