}  //RaiseDivBy2Event

        //this event handler uses a simplification suggested by Visual Studio...
        protected virtual void RaiseHalfwayEvent(CustomEventArgs e)
        {
            HalfwayEventHandler?.Invoke(this, e);
        }  //RaiseHalfwayEvent
 void SubscriberDivBy2EventHandler(object sender, CustomEventArgs e)
 {
     Debug.WriteLine(id + " received a Divisible by 2 message: " + e.Message);
 }
 void SubscriberHalfwayEventHandler(object sender, CustomEventArgs e)
 {
     Debug.WriteLine(id + " received a Halfway message: " + e.Message);
 }
        }  //ctor

        void SubscriberGeneralEventHandler(object sender, CustomEventArgs e)
        {
            Debug.WriteLine(id + " received a General message: " + e.Message);
        }