1) In a stand mixer or bread machine (programmed for dough), mix together all of the dough ingredients to form a smooth, shiny dough. Don't worry; what starts out as a sticky mess becomes beautifully satiny as it kneads. This dough takes longer than most to develop, so be prepared to let the dough knead for up to 15 to 20 minutes in a stand mixer. Also, we don't recommend trying to knead it by hand. If you're using a bread machine, let it complete its kneading cycle, then continue as directed below.
2) Form the dough into a ball (it'll be very soft), place it in a greased bowl, cover the bowl, and it let rise for 1 hour.
3) Refrigerate the dough for several hours, or overnight. This will slow the fermentation and chill the butter, making the dough easier to shape.
4) While the dough is chilling, prepare the pastry cream.
5) In a medium-sized saucepan, stir together 2 1/2 cups of the milk, the sugar, and the salt. Bring to a simmer over medium heat, stirring to dissolve the sugar.
6) Meanwhile, whisk the cornstarch, flour, and egg yolks with the remaining 1/2 cup milk.
7) Whisk about 1/3 cup of the hot milk mixture with the egg yolks. This keeps the yolks from turning to scrambled eggs when you add them to the simmering milk.
8) Pour the egg/milk mixture back into the remaining simmering milk. Doing this through a strainer will help prevent lumps later.
9) Bring to a boil, stirring constantly with a whisk, until the mixture thickens. To avoid lumps, it's important to stir this constantly, and to run a spatula along the bottom of the pan to make sure nothing's sticking. Don't worry, the cream won't take long to thicken.
10) Remove the pastry cream from the heat and pour it through a sieve to remove any lumps. Stir in the butter and vanilla extract.
11) Transfer the pastry cream to a storage bowl, and top with a buttered piece of parchment or plastic wrap. This will prevent a skin from forming.
12) Refrigerate the cream until you're ready to use it.
13) To shape and bake the brioche: Remove the brioche dough from the refrigerator, and divide it into 16 pieces.
14) Shape each piece into a round ball. Space the balls on a lightly greased or parchment-lined baking sheet, leaving about 2" between them; they'll expand quite a bit.
15) Cover the brioche, and let them rise for 2 1/2 to 3 hours, until they're very puffy. Towards the end of the rising time, preheat the oven to 375°F.
16) Brush each brioche with some of the egg wash, and sprinkle with coarse white sparkling sugar or Swedish pearl sugar.
17) Place the pan on a lower-middle rack in the oven, and bake the brioche for 25 to 30 minutes, tenting them with aluminum foil after 15 minutes if they appear to be browning too quickly. The finished brioche will register at least 190°F on an instant-read thermometer inserted into the center.
18) Remove the brioche from the oven, and cool on a rack.
19) Finish the pastry cream by whipping the 1/2 cup heavy cream to soft peaks, and folding it into the refrigerated pastry cream.
20) Slit each brioche around the circumference, making a top and bottom. Spoon a heaping 1/4 cup filling onto the bottom, and lay the top over the filling.
21) Serve within an hour or so. Brioche can be filled and refrigerated for several hours, covered. Allow them to warm a bit before serving.
Yield: 16 filled brioche.