Working implementation. Tested with up to 10 simultaneous listeners