Mix cornstarch, sugar, and salt in a heavy medium sized saucepan.
In a small bowl, whisk together milk and egg thoroughly, and gradually stir in.
Cook over medium or medium low heat, whisking constantly, till mixture comes to a boil. (Don’t be tempted to turn up the heat; if it gets hot too fast, the egg will cook.)
Boil for 30-60 seconds, still stirring constantly.
Remove from heat and stir in butter and vanilla. If desired, pour through a fine meshed sieve to remove any lumps.
Serve warm or chilled.
Notes
Makes about 1 1/2 cups sauce.
I sometimes use one whole egg instead of the yolks. I crack the egg into a small bowl first and pull off the chalazae (white stringy thing). Then I beat the egg really well. It is a little trickier, but I you don't have to waste 2 egg whites.