In the bottom of the bowl of a mixer, whisk together the yeast, water, and sugar. Let stand for 5 minutes until the mixture is nice and frothy.
Add the salt, melted butter, and flour to the mixture in the bowl. Mix with the paddle attachment for 5-6 minutes, until the dough pulls away from the sides of the bowl. If the dough keeps sticking, add more flour 1 tablespoon at a time.
Remove the dough from the bowl onto a lightly floured surface and shape it into a ball. Place the dough in a large, greased bowl. Turn the dough in the bowl so it is all coated in the oil. Cover with a clean kitchen towel. Place the bowl in a warm spot and let the dough rise for about an hour and a half, until it has doubled in size.
Once doubled in size, punch the dough down to remove any air bubbles. Turn the dough out onto a lightly floured surface and divide the dough into 6 even pieces. Shape each piece into a ball. Place the balls seam side down on 2 parchment-lined baking sheets. Cover with the clean kitchen towel again and let the dough rise for about 20 minutes.
Meanwhile, preheat the oven to 400°. In a small bowl combine the egg and milk to make the egg wash. Brush the egg wash over the tops of the dough and cut a small X in the tops of them with a very sharp knife.
Bake for 30 minutes, until the crust is a nice golden brown. Allow to cool completely before cutting to prevent the bread from becoming gummy. When ready to serve, cut a large hole in the tops and, if desired, hollow out some of the inner bread (but save it to dip in your soup!)