We continue building out our little promise library, this time adding an ensure method, refactoring how we call the callback blocks, and fix a race condition issue by triggering callbacks even if the value has already been provided.