Thinking about signals and laziness. There may be a nice generalization here.