Hello mbolo01,
Hopefully I can answer your question;
Let's take your example with 3 products.
Scenario 1:
At 8.00 product 1 is turned on and is playing "Elton John - Your Song" on Deezer
At 8.01 product 2 is turned on with the app, and is playing "Fleetwood Mac - Go your own way" on Deezer
Now, at 8.03 you go to product 3 (let's say it's an A9) and tap on it: you will join product 2 and play Fleetwood Mac, because that product changed state last. If you tap once more it will join product 1.
Scenario 2:
At 9.00 product 1 is turned on and is playing "Elton John - Rocket man" on Deezer
At 9.01 product 2 is turned on with the app, and is playing "Fleetwood Mac - Everywhere" on Deezer
At 9.02 you adjust the volume slightly on product 1
Now, at 9.03 you go to product 3 and tap on it: you will join product 1 and play Elton John, because that product changed state last.
Scenario 3:
At 10.00 product 1 is turned on and is playing "Elton John - Candle in the wind" on Deezer
At 10.01 product 2 is turned on with the app, and is playing "Fleetwood Mac - Dreams" on Deezer
At 10.03 "Elton John - Candle in the wind" has come to an end, and the track changes to "Sacrifice"
Now, at 10.04 you go to product 3 and tap on it: you will join product 1 and play Elton John, because that product changed state last.
Conclusion:
The products announce all changes in volume, source and metadata to the rest of the products every time it changes, and whatever product announced a change last, is the one that will be joined first.
Hope this makes sense, if not, feel free to ask.