only allow one callback per channel and needs to be pass when subscribe to it
reimplement debug messaging, now you can get the message for a specific channel or for all of them