added TimerHelper.RunOneShot(int delayMillis, doOnce)