unsweetened whipped cream and turbinado sugar to topoptional
In a medium sized mixing bowl (preferably with a pour spout), mix together the cornstarch (1/4 cup) and kosher salt (1/2 teaspoon). Whisk in two cups of the milk gradually, making sure to smooth out any cornstarch clumps before adding more, so the mixture is smooth. Add the egg yolks (4) and whisk together until yolks are fully incorporated and broken up.
In a medium saucepan, melt 3 tablespoons butter over medium-high heat. Once it's melted, whisk continuously until starting to turn brown. Add the brown sugar (3/4 cup) and whisk together until sugar is melted.
As soon as sugar has fully melted and you see a little bit of smoke rising from the top, remove from heat and CAREFULLY and gradually whisk in the remaining 1 cup milk. The sugar may clump up and harden again- this is OK, it will melt once it heats again. Add the pot back to the heat on medium-low. Continue whisking together until all clumps are gone and mixture is smooth.
Ladle about half of this hot mixture gradually into the cornstarch, egg, and milk mixture, whisking continually, to temper the eggs. Then, gradually pour the mixture into the pot with the rest, whisking continuously.
Continue heating over medium heat, whisking, until pudding has thickened to desired consistency. Remove from heat. Stir in vanilla extract and remaining 1 tablespoon butter until fully melted.
Refrigerate pudding in a bowl, with plastic wrap pressed down directly on the surface to prevent a skin from forming.
Just before serving, whisk it (again!) for a minute or so to smooth it out, then serve in individual ramekins, bowls, or glassware topped with the unsweetened whipped cream and a sprinkling of turbinado sugar. Or eat it directly out of the bowl- no judgement here! :-)
Save the egg whites: You can use them for omelettes or scrambled eggs later!