Slice one ripe banana and place it in a bowl with the milk. Cover and refrigerate for 12–24 hours to infuse the milk with banana flavor.
The next day, strain the milk through a fine mesh sieve and discard the banana slices.
In a medium bowl, whisk the egg yolks. In a separate small bowl, whisk together ½ cup of the banana-infused milk with the cornstarch until smooth. Set both aside.
In a medium saucepan, combine the remaining milk, sugar, and salt. Place over medium heat and whisk until the mixture is hot but not boiling.
Temper the eggs by slowly pouring about ½ cup of the hot milk mixture into the egg yolks while whisking constantly. Then pour the egg mixture back into the pan along with the cornstarch mixture.
Continue whisking over medium heat until the pudding thickens and begins to bubble. Remove from heat and whisk in vanilla extract and butter.
Pour the pudding into a clean bowl and press plastic wrap directly onto the surface to prevent a skin from forming. Let it cool for 20–30 minutes, then refrigerate for at least 4 hours.
Once the pudding has completely cooled and set make the whipped cream. Using a hand mixer or stand mixer, beat the heavy cream on medium-high speed until soft peaks form. Add in the powdered sugar and vanilla extract. Mix until fully incorporated. Be careful not to overmix, or the cream will turn grainy. Set aside.
To assemble: In a 9x13 dish, layer vanilla wafers on the bottom. (As many as you want). Top with sliced bananas, then spoon over the chilled banana pudding. Spread into an even layer. Add another layer of wafers and sliced bananas. Finish with a layer of whipped cream and more wafers-whole or crushed. Enjoy!