The SetTimeout step function. Updates the local tick value, invokes the callback and schedules another call to setTimeout.