Prep the yeast: Add the yeast, ½ cup of water, and 2 teaspoons of the sugar to the bowl of your mixer, stir and let it sit for 5 minutes until the yeast starts to activate and foam.
Make the dough: Add the remaining sugar, milk, melted butter, eggs, salt and 6 cups of the flour. Use the dough hook to mix on low speed, until the dough basically comes clean from the side of the bowl. Add the remaining flour as needed. I used the full 6½ cups of flour. The dough should be sticky but it should come clean from the side of the bowl. Make sure to mix for about 5 to 7 minutes.
First Rise: Spray a large bowl with cooking spray, place the dough in the bowl and spray the dough itself with a bit of cooking spray. Cover the bowl with plastic wrap. Let the dough rise in a warm, draft-free environment until doubled in size, about 40 minutes to an hour. Once doubled in size, punch it down to release some of the air out.
Shape into loaves: Divide the dough in half. I prefer to braid these loaves, but you can also just roll out each piece of dough into a loaf and place it into greased loaf pans. I prefer to do a 3 strand braid. To do so cut each half into 3 pieces, and roll each piece into long strips about a foot long. Braid and repeat with remaining dough.
Preheat oven: Preheat the oven to 350°F.
Second rise: You can either place them on a baking sheet lined with parchment paper, or if you have 12-inch loaf pans, grease them well with cooking spray and place the loaves in them. Let them rise a second time until doubled in size in a warm, draft-free environment. Should take about 30 minutes.
Bake: Brush the loaves with the egg wash all over. Sprinkle with sesame seeds or poppy seeds. Bake the bread for 30 minutes or until golden brown. If using loaf pans, let them cool for 10 minutes in the pans before transferring them to a cooling rack to finish cooling.