rework LoggerBroadcaster so it logs and delegates to another broadcaster