In this particular case of interrupting a motor, all you need to do however is test the switch in the main loop: simpler again!
void loop ()
{
if (digitalRead (STOP_SWITCH) == LOW)
{
// stop motor
} // end of if
// other stuff
} // end of loop
Don't over-egg the pudding.