In a large saucepan over medium-low heat, combine sugar, flour, salt and milk. Stir until completely blended.
When the mixture begins to boil, cook for 2 minutes, stirring constantly as it begins to thicken.
Remove from the heat and add 1/2 cup for the hot mixture to the beaten egg yolks; stir until blended.
Place unused pudding mixture back on the stove over medium heat and add egg yolk mixture back into the saucepan; continue to cook, stirring, for 3 minutes.
After 3 minutes, turn the heat off, add butter and vanilla, and beat with a whisk until blended. Remove from stovetop and let cook for about 10 minutes,.
Spray a 13x9" baking pan with cooking spray and arrange the vanilla wafers to cover the bottom and sides of the pan. Slice bananas and cover wafers with banana slices. Pour pudding into pan, covering bananas and wafers.
Allow banana pudding to cool in refrigerator. When pudding has set, cover with whipped topping.