In a large bowl, combine the sugar, cornstarch, and salt.
Add the eggs and egg yolk and whisk to combine.
Add the milk and whisk until well combined (about 30 seconds).
Pour the mixture into a saucepan and cook over medium-low heat, stirring constantly until thickened (approximately 10-15 minutes).
Remove from the heat and whisk in the butter, one cube at a time.
Whisk in the vanilla extract.
Cover with plastic wrap and the pudding chill in the refrigerator for 2 hours. Be sure the plastic wrap is touching the top of the pudding completely to prevent any film from forming on the surface.
Serve. Top with whipped topping, if desired.