
    async run(sharedState: any): Promise&lt;string&gt; {
        const prepResultList = await this.prep(sharedState);
        const resultPromises = [];

        for (const prepResult of prepResultList) {
            const result = this.orchestrate(sharedState, prepResult);
            resultPromises.push(result);
        }

        const resultList = await Promise.all(resultPromises);
        return this.post(prepResultList, resultList, sharedState);
    }
}
</code></pre>
<h2 id="best-practices">Best Prac