Promises have three states: pending, fulfilled, and rejected. They provide a cleaner way of dealing with asynchronous code as opposed to using callback functions or event handlers.
Throughout this lab, ensure to export functions and variables as needed. We will be using ESM syntax for this purpose. Make sure to use the ESM syntax for imports and exports within the evaluation scripts too.
Your goal is to complete the challenges based on the objectives outlined in each challenge.