synchronize job progress between any N windows using socket.io events. very efficient from client perspective, avoids  /  cycles