what is interrupt-driven development