internal override void Notify(NotifyLayer layer)
        {
            switch (layer)
            {
            case NotifyLayer.Primary:
                isDirty = true;
                SessionManager.EnqueueNotifier(this);
                base.Notify(layer);
                break;

            case NotifyLayer.Secondary:
                if (isDirty)
                {
                    base.Notify(layer);
                }
                break;
            }
        }
        internal virtual void Notify(NotifyLayer layer)
        {
            switch (layer)
            {
            case NotifyLayer.Primary:
                if (changeNotificationSentToApplication != null)
                {
                    changeNotificationSentToApplication(sender, eventArgs);
                }
                break;

            case NotifyLayer.Secondary:
                if (changeNotificationSentToConsumers != null)
                {
                    changeNotificationSentToConsumers(sender, eventArgs);
                }
                break;
            }
        }