Cette solution a du sens, je fais quelque chose de similaire dans mon application.
Une chose à noter, cependant :
Ainsi, par exemple, chaque personne qui clique sur un bouton est ajoutée à une liste unique associée à ce bouton.
Autorisez-vous les utilisateurs en double dans cette liste ? Si oui, utilisez des listes. Sinon, vous voudrez peut-être le coupler avec set (pour des vérifications uniques), mais cela vous coûtera de la RAM.