refactored the channel broadcaster to not lean on copied handler pattern, put in a source setter and removed the generic callback based handler