Moves protocol event code into a generated code system that removes the need for drudgery.  It's not the slickest system, but it works and it will save me time.