/// <summary>
        ///     Registers an object to receive callbacks on component authority changes.
        /// </summary>
        public void RegisterAuthorityChangedReceiver(IAuthorityChangedReceiver receiver)
        {
            if (receiver == null)
            {
                throw new ArgumentNullException("receiver");
            }

            changeReceivers.Add(receiver);
        }
 /// <summary>
 ///     Removes an object from the collection of authority change callback receivers.
 /// </summary>
 /// <returns>True if the suppled object was registered as a receiver and was removed.</returns>
 public bool TryRemoveAuthorityChangedReceiver(IAuthorityChangedReceiver receiver)
 {
     return(changeReceivers.Remove(receiver));
 }