Created reusable listener support class