Just curious: why did you choose to use `select` here instead of, say, `Thread.delay` ?