4 to 4-1/2 cups flour
4-1/2 tsp yeast
1/4 cup sugar
2 tsp salt
1 cup milk
2 T butter
3 eggs, beaten (reserve 1 tablespoon)
Combine milk and butter in a small saucepan. Heat until butter has melted and liquid is about 110F.
Put 2 cups flour, yeast and salt into the bowl of a stand mixer fitted with paddle attachment; mix to combine. Add milk/butter mixture and eggs. Mix on low until moistened then beat for an additional 3 minutes on medium until smooth.
Gradually add in enough remaining flour to make a firm dough. Change to a dough hook and knead until smooth and elastic, about 8 minutes. Place dough into a bowl that has been sprayed with cooking spray. Cover and let rise until dough has doubled, about 1-1/2 to 2 hours.
Punch down dough and divide into 3 parts. On a lightly floured mat, roll each third into a 15-inch rope. Line a baking sheet with parchment and lay 3 ropes on parchment. Braid loosely, pinch ends and tucker under to seal. Cover and let rise in a warm place until very puffy, about 30-45 minutes. Mix 1 tsp water with the tablespoon of reserved egg and brush over braid. Bake at 400F for 25-30 minutes or until golden brown. Cool completely before cutting.