 void loop()
 {
   process_CAN_Messages();
+
   if ( status_changed )
   {
       set_aux_light_state();
-
-      if ( abs_button_up_event )
-      {
-          handle_abs_button_event();
-          abs_button_up_event = false;
-      }
-
+      if ( motorcycle_state.heated_grips == K25_Heated_Grips_State_off ) set_heated_jacket_off();
+      if ( abs_button_up_event ) handle_abs_button_event();
+      if ( PRINT_STATUS_TO_SERIAL_CONSOLE ) print_status();
       status_changed = false;
-      if ( PRINT_STATUS_TO_SERIAL_CONSOLE ) print_status();
   }
 }
 

/* State Change Functions */
void handle_abs_button_event()
{

}

void set_aux_light_state()

    }
}

void set_aux_light_state_high()
{
    if ( aux_light_state != Aux_Light_High )
    {
        aux_light_state = Aux_Light_High;
        digitalWrite(AUX_LIGHT_1_POWER_CONTROL_PIN, HIGH);
        digitalWrite(AUX_LIGHT_2_POWER_CONTROL_PIN, LOW);
        analogWrite(AUX_LIGHT_1_PWM_PIN, AUX_LIGHT_PWM_BRIGHTNESS_HIGH);
        analogWrite(AUX_LIGHT_2_PWM_PIN, AUX_LIGHT_PWM_BRIGHTNESS_HIGH);
    }
}

void set_aux_light_state_low()
{
    if ( aux_light_state != Aux_Light_Low )
    {
        aux_light_state = Aux_Light_Low;
        digitalWrite(AUX_LIGHT_1_POWER_CONTROL_PIN, HIGH);
        digitalWrite(AUX_LIGHT_2_POWER_CONTROL_PIN, LOW);
        analogWrite(AUX_LIGHT_1_PWM_PIN, AUX_LIGHT_PWM_BRIGHTNESS_LOW);
        analogWrite(AUX_LIGHT_2_PWM_PIN, AUX_LIGHT_PWM_BRIGHTNESS_LOW);
    }
}

void set_aux_light_state_off()
{
    if ( aux_light_state != Aux_Light_Off )
    {
        aux_light_state = Aux_Light_Off;
        digitalWrite(AUX_LIGHT_1_POWER_CONTROL_PIN, LOW);
        digitalWrite(AUX_LIGHT_2_POWER_CONTROL_PIN, HIGH);
        analogWrite(AUX_LIGHT_1_PWM_PIN, AUX_LIGHT_PWM_BRIGHTNESS_OFF);
        analogWrite(AUX_LIGHT_2_PWM_PIN, AUX_LIGHT_PWM_BRIGHTNESS_OFF);
    }
}

void set_heated_jacket_state()
{
    /*
    // heated jacket can only be on if heated grips are on
    if ( motorcycle_state.heated_grips != K25_Heated_Grips_State_off )
    {
