Create abstract "spinner" functionality that knows how to adjust a
value up or down using the buttons and handles repeat and fast-repeat
functionality.

Created a timer stack that allows multiple independent timeout
handlers to be active simultaneously.

Added feature to stop the metronome after a specified number of beats.
I imagine using this while conducting to help me settle into a tempo
and then stop to not interfere with what I'm doing.