I think that low-resolution timing requirements are so common in programming that general abstraction for hardware timers is valuable. I use mine in almost every controller project for simple event timing, event timeouts and FSM event sequencing.Differences of opinion make a horse race.
Besides, I expect that my code ultimately will be doing much more than controlling a single communication channel.




