A very powerful set of classes (or a library) that implements a set of timeout timers.  By default up to five timers can be executed simultaneously, but this can be changed easily by modifying a single #define.  Each alarm calls a user's function and passes a pointer to a user's object.  Two examples of usage are provided.