e.g. we could have a queue of incoming events, and we'd only do 1 at a time, and if a new one comes in too fast, we'd wait for the currently one to complete, and in the meantime if more come in, we'd discard all the new ones except the newest, and then could go again.