Attempting to merge event handling into message processing.  It builds but breaks somewhere.