How setTimeout works under the hood

;