Make Group.Participants an ICollection
Add Group tests
GroupManager Join/Leave and tests
Add licenses
GroupConnectionMessage
Loop group ids
Remove groups when empty
Add GroupManager.TryGetGroup
Take owner in group ctor and INPC
Some docs and licenses
Return null for no key in PublicKeyIdentityProvider
Bump Tempest
Add ObservableDictionary
Group handling