In a pot(or the microwave) get all 3 cups of milk scalding.
Whilst the milk boils; separate the eggs and discard the whites (if desired, you can set aside for an omlette or a meringue)and beat the cornstarch and sugar in the bowl with the egg yolks. It will have a hard time coming together at first; but keep whisking, it'll get there.
Keep milk very hot. Pour all of the egg yolk mixture into the scalding milk and beat vigorously until the mixture seems completely liquified. Add the salt, vanilla extract, and butter. Keep whisking until butter is well incorporated.
Keep warm and continuosly stir until the pudding thickens. Once thick (if making chocolate) add the sifted cocoa powder and stir until well incorporated.
Serve warm or refridgerate for 2 hrs (preferred) and serve with or without garnish.