Chapter 3 - Recipe #7: Changing data between concurrent tasks - Exchanger