Publisher({required this.relayer, Logger? logger}) : logger = logger ?? Logger(), _queue = {} { _registerEventListeners(); }