/// <summary>
 /// Unregister a property change consumer from this notifier
 /// </summary>
 /// <param name="consumer"></param>
 /// <param name="rowIndex">The row to no longer be watched</param>
 public void UnregisterPropertyNotifiedConsumer(IReactivePropertyNotifiedConsumer consumer, int rowIndex)
 {
     if (_consumersByRowIndex.ContainsKey(rowIndex))
     {
         _consumersByRowIndex[rowIndex].Remove(consumer);
     }
 }
        /// <summary>
        /// Register a property change consumer to this notifier
        /// </summary>
        /// <param name="consumer"></param>
        /// <param name="rowIndex">The row being watched</param>
        public void RegisterPropertyNotifiedConsumer(IReactivePropertyNotifiedConsumer consumer, int rowIndex)
        {
            var consumers = _consumersByRowIndex.GetOrAddNew(rowIndex);

            consumers.Add(consumer);
        }