Timer class allows creating a timer that will be started with start() method asynchronously.
This means the method returns immediately and the user can do other tasks on the calling (main) thread.
The timer stops either automatically after the timeout expires or manually after a call of stop() method at any time.
Inevitably higher timer precision set by the argument msPrecision will lead to higher CPU load by the timer thread.