continuations are used to make synchronous code that is effectively asynchronous.