public void AddAuthorityChange(AuthorityChangeReceived authorityChange)
        {
            if (authorityChange.Authority == Authority.NotAuthoritative)
            {
                if (authorityLostTemporary.Remove(authorityChange.EntityId) || !authorityGained.Contains(authorityChange.EntityId))
                {
                    authorityLost.Add(authorityChange.EntityId);
                }
            }
            else if (authorityChange.Authority == Authority.Authoritative)
            {
                if (authorityLost.Remove(authorityChange.EntityId))
                {
                    authorityLostTemporary.Add(authorityChange.EntityId);
                }
                else
                {
                    authorityGained.Add(authorityChange.EntityId);
                }
            }

            authorityChanges.InsertSorted(authorityChange, authorityComparer);
        }
 public void AddUpdate(ComponentUpdateReceived <TUpdate> update)
 {
     EntitiesUpdated.Add(update.EntityId);
     updateStorage.InsertSorted(update, updateComparer);
 }