In a large saucepan, stir together the sugar, cornstarch and salt. Slowly whisk in the milk. Turn heat on to medium-high. Which mixture continuously until it begins to bubble. Remove saucepan from heat.
In a medium bowl, whisk the eggs. Pour about ½ cup of the warm milk mixture into the eggs. Whisk vigorously. This is called "tempering" the eggs. It's basically slowly brining the eggs up to a warmer temperature without them scrambling.
Pour egg mixture into milk mixture. Place saucepan back onto medium-high heat and whisk constantly until the mixture begins to thicken. Seriously, whisk constantly. It may seem tedious but this mixture can quickly turn glumpy if you don't whisk the entire time!
Transfer mixture out of the saucepan into a bowl and whisk in vanilla.
Spread thin layer of the pudding into a 1 ½ quart casserole dish (or an 8x8 square baking dish). Arrange half of the vanilla wafers on top of the pudding. Then layer half of the banana slices over the vanilla wafers.
Layer half of the remaining pudding on top of the bananas. Then layer the remaining vanilla wafers on top. Followed by the remaining banana slices. Top with the rest of the pudding.
Cover the dish with plastic wrap and gently press down on the plastic wrap so that it is touching the pudding. This will keep a "skin" from forming on top of the pudding. Pop it into the refrigerator to cool for at least 3 hours.
Then uncover and spread whipped topping on top. Then serve!