BTW the 5s is just to take into consideration delays between the `begin.setMilliseconds` call and the time that `fromNow` takes to call `new Date()` - should be just a few milliseconds (on most cases not even 1ms) but enough to cause the rounding issue once in a while.