Some code exploring how a timeout might work.