Special equipment: A candy thermometer
For the puffs: Preheat the oven to 425 degrees F.
In a large saucepan set over medium-high heat, bring 2 cups water, the butter, sugar and salt to a rolling boil, then immediately remove the pan from the heat. Stirring with a wooden spoon, add the flour all at once and stir hard until all the flour is incorporated, 30 to 60 seconds. Return the pan to the heat and cook, stirring, to cook off some of the moisture, 30 seconds.
Scrape the mixture into a bowl. Using a hand mixer set on low to medium speed, add 8 of the eggs, one at a time, stopping after each addition to scrape down the sides of the bowl. Mix until the dough is smooth and glossy and the eggs are completely incorporated. The dough should be thick, but should fall slowly and steadily from the beaters when you lift them out of the bowl.
Transfer the mixture to a pastry bag fitted with a large plain round tip. Pipe the dough in big dollops onto a parchment-lined baking sheet. Whisk the remaining 1 egg with 1 tablespoon water. Brush the surface of the dough with the egg wash to push down any points. Bake for 15 minutes, then reduce the heat to 375 degrees F, and bake until puffed up and light golden brown, about 20 minutes more. The puffs should have a crust, but also still be soft. Avoid opening the oven door while the puffs bake. Cool the puffs on the baking sheet.
For the fillings: In a medium saucepan set over medium heat, cook the milk until it just begins to bubble along the edges. In a bowl, whisk the sugar and yolks until light and fluffy. Add the cornstarch and whisk vigorously until no lumps remain. Whisk in 1/4 cup of the hot milk until incorporated, being careful to avoid scrambling the eggs. Whisk in the remaining hot milk mixture, reserving the empty saucepan for a later use.
Pour the pastry cream through a fine mesh strainer back into the saucepan and cook over medium-high heat, whisking constantly, until it thickens and comes to a slow boil. Remove from the heat and stir in the butter and vanilla extract. Remove one-third of the pastry cream to a bowl. Then add the chocolate into the larger batch of pastry cream and stir until the chocolate is completely incorporated. Divide the chocolate cream into two bowls, adding the mint to one batch and the orange to the other. Add the melted caramel and cinnamon to the plain pastry cream, stirring to combine. Cover all three creams with plastic wrap, lightly pressing the plastic against the surface to prevent a skin from forming. Chill for at least 2 hours or until ready to serve.
Use a plain pastry tip to poke a hole in the bottom of each puff. Place each of the pastry creams into a piping bag fitted with a small tip. Separate the puffs into three equal piles and fill each pile with one of the pastry creams.
For the caramel: Place the sugar, corn syrup and 2/3 cup water in a saucepan fitted with a candy thermometer. Bring to a boil and cook until the mixture reaches a deep amber color, the thermometer will read about 350 degrees F. Remove from the heat. Then quickly but carefully, dip the bottom and sides of the puffs in the caramel to start building the tower. Create a large circle of puffs as the base, then a second, slightly smaller circle on top of the first to draw the circle in and create a tower of cream puffs. Repeat for the remaining puffs. Check it from all sides occasionally to make sure it's straight. When the tower is finished, drizzle the remaining caramel all over and then decorate as desired.
Recipe courtesy of Duff Goldman