01 -  In a medium saucepan, whisk together granulated sugar, cornstarch, and salt. Gradually add whole milk, whisking until smooth. 
 02 -  In a separate bowl, lightly beat the egg yolks until combined. 
 03 -  Place the saucepan over medium heat. Cook, whisking constantly, until the mixture thickens and just begins to bubble, about 6 to 8 minutes. 
 04 -  Gradually whisk about 120 ml of the hot milk mixture into the yolks to temper. Pour the yolk mixture back into the saucepan, whisking continuously. 
 05 -  Reduce heat to low and cook, stirring, for an additional 2 minutes until thick and creamy. Remove from heat. Stir in unsalted butter and vanilla extract until combined. 
 06 -  Transfer pudding to a bowl. Cover with plastic wrap directly on the surface and let cool to room temperature or refrigerate to chill more quickly. 
 07 -  Arrange a layer of Nilla wafers on the bottom of a trifle dish or 23x33 cm baking dish. Top with a layer of banana slices. 
 08 -  Spread one-third of the pudding evenly over the bananas. 
 09 -  Repeat the layering of wafers, bananas, and pudding two more times, ending with a pudding layer on top. 
 10 -  In a mixing bowl, whip heavy cream with powdered sugar and vanilla extract using an electric mixer or hand whisk until soft peaks form. 
 11 -  Spread or pipe whipped cream over the top layer of pudding. Garnish with additional banana slices and crushed Nilla wafers if desired. 
 12 -  Refrigerate for at least 2 hours to allow flavors to meld and dessert to set.