I'll recommend you to read
this article[
^] from
Nemanja Trifunovic[
^] about timers (different kind of them including waitable timers). It will explain you easily how to implement them and moreover it will give you some interesting samples.
Hope this helps... :thumbsup: