Composed of 2 parts ◦ Promise (handles event subscriptions) ◦ Resolver (decides if the promise was success / fail) • Synchronization mechanisms ◦ all, any, some, chain ... Deferred to the rescue! (when.js) ...and they have been around since the '70s!