fix: Only add a listener once in a channel-topic
refactor: make buzz a protected instance
feat: add method 'numListeners' to channelDef