Use ParticipantState object to share states among different instances of Participants.
Merge pull request #114 from EasonLiao/master

Use ParticipantState object to share states among different instances of...
Add state change callback.