PBM How-To
void runEvent(TriggerEvent te) {
//look at the TriggerEvent object to see which Input ports have
//Events are aggregated such that all input ports changed by a
//single output providing module should show up in the same
//NOTE: An event signal does not guarantee that the values on the
//input ports currently are the same as the ones at the time the event
//was fired, subsequent changes may have over-written that value
//NOTE: runEvent and runLoop will not run concurrently unless
//this.sleep() is called to release the shared lock