Added onParticipantChange callback