Use separate listeners for each channel