My intention is to use this instead of the idle queue so things get
processed on a regular interval instead of waiting for the user to be
idle. It also supports a "running()" function so we know if busses still
have work to do.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>