New listener framework