Fit electric mixer with the paddle attachment. In the mixing bowl, combine the warm milk, yeast and sugar. Let sit for 5-10 minutes, until it is foamy and bubbly.
To that bowl, add the eggs and mix for one minute, breaking up the eggs.
In a separate bowl, combine 2 cups of the flour and the salt. Add to the mixer and combine with the egg mixture. Mix for 3 minutes on medium speed.
Turn mixer to low speed and gradually add 2 more cups of the flour until incorporated. Mix for 5 minutes, stopping half way to scrape down paddle and sides of bowl. Turn off mixer and check dough with finger, if it is overly wet or sticky add up to 1/2 cup more flour and mix on low speed until incorporated. Dough should be soft but not wet.
Slowly add the butter, 2 Tablespoons at a time. Mix well after each addition, scraping sides of bowl as needed. After incorporating all of the butter, switch to the dough hook attachment and knead for 8-10 minutes. Dough should be cleaning the sides of the bowl and clinging in one ball to the dough hook. *Try window pane test (see notes).
Put dough in a medium bowl sprayed with nonstick spray. Cover with plastic wrap and refrigerate overnight or for 8 hours. Dough will rise about 50% in size.
Remove dough from refrigerator.
Prepare pans - if making loaves, spray loaf pans with nonstick spray. If making buns, line baking sheet with parchment paper.
Turn dough out onto a floured work surface. Divide dough as needed - see notes for weight suggestions for different dough uses.
Shape loaves or buns, as desired. If making buns, round dough into balls, slightly flatten and place almost touching on prepared baking sheet, cover with a slightly dampened light-weight kitchen towel and let rise about double in size. If making loaves, place shaped loaf in greased bread pan and cover to let rise until double in size. Depending on how warm your kitchen is, this will take about 1-2 hours.
Preheat oven to 375°F. When bread is ready to bake, combine one egg with 1 Tablespoon of water to create an egg wash. Brush the egg wash onto the tops of the bread.
Bake loaves for 28-30 minutes or until deep golden color. When tapping on the crust, it should have a hollow sound. See notes for different bake times for buns and rolls.
Allow bread to cool in pan for 10 minutes before turning out onto a wire rack to cool completely.