CMUH APP portal
provide a promise retry utility
schedule a timeout work by efficiently using setTimeout