In a large saucepan, whisk together the milk, granulated sugar, cornstarch, and salt. Cook over medium heat, stirring constantly, until the mixture thickens and comes to a boil. Boil for 1 minute, stirring constantly.
In a separate bowl, whisk the egg yolks. Gradually temper the hot milk mixture into the egg yolks, whisking continuously. Pour the tempered mixture back into the saucepan.
Cook over medium heat, stirring constantly, until the pudding is thick and smooth. Remove from heat. Stir in the butter, vanilla extract, and sweetened condensed milk until well combined.
Pour the pudding into a large bowl and press plastic wrap directly onto the surface to prevent a skin from forming. Let it cool completely.
Once the pudding is completely cool, gently fold in the thawed whipped topping.
To assemble, spread a layer of vanilla wafers in the bottom of a 9x13 inch baking dish or a large trifle bowl. Top with a layer of sliced bananas, then a layer of the pudding mixture. Repeat the layers until all ingredients are used, ending with a layer of pudding.
Cover and refrigerate for at least 4 hours, or preferably overnight, to allow the flavors to meld and the wafers to soften.