 Metro flameOnTime(100UL);
 // but only fire this often.
 Metro flameCoolDownTime(1000UL);
-// there's quite a bit of EMI from the solenoid firing, so we add a cooldown on reading sensors
-#define EMI_COOLDOWN 1000UL
-Metro sensorEmiCooldown(EMI_COOLDOWN);
-boolean emiInterference = true;
 
 // when we're out of the network, update the lights on this interval (approx)
 #define SOLO_TEST_PATTERN_UPDATE 3000UL // ms

// remote control
#define RESET_PIN A0
#define GAME_ENABLE_PIN A1
#define DEBOUNCE_TIME 50UL // need a long debounce b/c electrical noise from solenoid.
Bounce systemReset = Bounce(RESET_PIN, DEBOUNCE_TIME);
Bounce gameEnable = Bounce(GAME_ENABLE_PIN, DEBOUNCE_TIME);
boolean gameEnableFlag = true;

  if ( flameOnTime.check() ) { // time to turn the flame off
    flameOff();
  }
  
  // check system enable state
  if ( systemReset.update() ) { // reset state change
    Serial << F("Reset state change.  State: ");
    systemResetFlag = systemReseted();
    Serial << systemResetFlag << endl;
  }
  
  // check system enable state
  if ( gameEnable.update() ) { // gameplay enable state change
    Serial << F("Gameplay state change.  State: ");
    gameEnableFlag = gameEnabled();
    Serial << gameEnableFlag << endl;
  }

  // check for comms traffic
