The implementation is less than ideal - it starts a thread per timer. A better approach might be to switch to tokio and use their timer imlementation.