In a heavy saucepan combine sugar, cornstarch.
Stir in milk.
Cook and stir over medium heat until thickened and bubbly.
Cook and stir for two minutes more.
Lightly beat egg yolks in a medium bowl.
Gradually stir in one cup of the milk mixture into the egg yolks. (I did this about ½ tablespoon to 1 tablespoon at a time, and took several minutes)
Add the egg yolk mixture to the milk mixture in saucepan.
Bring to a gently boil; reduce heat.
Cook and stir for two minutes more.
Remove from heat.
Stir in butter and vanilla.
Pour pudding into a heatproof bowl.
Cover with plastic wrap.
Chill and do not stir during this time.