To make the sponge, stir together the flour and yeast in a large mixing bowl (or in the bowl of an electric mixer). Stir in the milk until all of the flour is hydrated. Cover with plastic wrap and ferment for 30 minutes, or until the sponge rises and then falls when you tap the bowl.
To make the dough, add the eggs to the sponge and whisk (or beat on medium speed with the paddle attachment) until smooth. In a separate bowl, stir together the flour, sugar, and salt. Add this mixture to the sponge and eggs and stir (or continue to mix with the paddle attachment on low speed for about 2 minutes) until all the ingredients are hydrated and evenly distributed. Let this mixture rest for about 5 minutes so that the gluten can begin to develop. Then, while mixing with a large spoon (or on medium speed with the paddle), gradually work in the butter, about one-quarter at a time, waiting until each addition of butter assimilates before adding more. This will take a few minutes. Continue mixing for about 6 more minutes, or until the dough is very well mixed. You will have to scrape down the bowl from time to time as the dough will cling to it. The dough will be very smooth.
Line a sheet pan with baking parchment and mist lightly with spray oil. Transfer the dough to the sheet pan, spreading it to form a large, thick rectangle measuring about 6 inches by 8 inches. Mist the top of the dough with spray oil and cover the pan with plastic wrap or place it in a large food-grade plastic bag.
Immediately put the dough into the refrigerator and chill overnight, or for at least 4 hours.
Remove the dough from the refrigerator and shape it while it is very cold. If it warms up or softens, return it to the refrigerator. If you are making brioches à tête, lightly oil or use spray oil to grease the fluted molds. Divide the dough into 12 to 16 portions for petites brioches à tête and 2 to 4 portions for larger shapes. (The size of each portion should correspond to the size of the molds; petites brioches à tête are typically 1.5 to 2 ounces each, while larger versions can range from 1 to 2 pounds. Whatever size you are making, the molds should only be half full with dough to allow for expansion during proofing.) Shape the petites brioches à tête into small balls and the larger ones into round loafs. Dust your hands with flour, and, using the edge of your hand, divide a ball of dough into a large and small ball by rolling down, but not quite all the way through, the dough. Place the large ball into the oiled brioche mold and use the tips of your fingers to indent the top and to round and center the smaller ball. Place the molds on a sheet pan after final shaping. If you are making loaves, grease two 8.5 by 4.5-inch loaf pans. Divide the dough into 2 pieces and shape the dough into loaves.
Mist the top of the dough with spray oil and loosely cover with plastic wrap, or slip the pan(s) into a food-grade plastic bag. Proof the dough until it nearly fills the molds or loaf pans, 1.5 to 2 hours for petites brioches à tête and longer for larger shapes. Gently brush the tops with egg wash. Cover the dough with plastic wrap that has been lightly misted with spray oil. Continue proofing for another 15 to 30 minutes, or until the dough fills the molds or pans.
Preheat the oven to 400 degrees F with the oven rack on the middle shelf for petites brioches à tête, or 350 degrees F for larger shapes.
Bake for about 15 to 20 minutes for petites brioches à tête and 35 to 50 minutes for larger shapes. The internal temperature should register above 180F for the small ones and about 190F for the larger shapes. The bread should sound hollow when thumped on the bottom and be golden brown.
Remove the brioches or loaves from the pans as soon as they come out of the oven and cool on a rack for at least 20 minutes for small brioches and 1 hour for larger shapes before serving.