TIL about Emacs' `run-at-time', which lets you run functions at arbitrary points in the future.