The routine class is used by the processor during the routine calculation for
storing the idle functions and the signals which should be triggered in the
next loop.
This was added due to the current loop not providing a simple means for
objects inside the loop determining what has happened within the routine
calculation and the functionality required for the upgraded idle required
more complex algorithms which would not fit well inside the entire routine
loop method.