Melt the butter in a small saucepan over medium heat. Whisk in the milk and sugar.
Place the dried yeast into a small bowl and add three tablespoons of the milk mixture. Stir well, cover losely and let stand for 5 minutes. It should bubble up and become sponge-like in texture.
Place the flour in the bowl of a stand mixer. Make a well in the middle and pour in the activated yeast. Pour in about 1/3 of the milk mixture and stir in just enough of the flour to form a wet dough. Cover and let stand for 15 minutes. Again, it should rise into a puffed up sponge.
Add the salt and remaining milk mixture. Knead in your stand mixer fitted with the dough hook attachment on low speed for 8 minutes. Rest for 1 minute. Knead on medium speed for 4 minutes. Rest for another minute. If the dough still rips apart easily, knead on medium-high speed for 2 minutes, otherwise medium will do.
Check with the windowpane test if your gluten has developed enough. If not, keep kneading. If it has, shape the dough into a ball, place back into the bowl and cover with a clean kitchen towel.
Let the dough rise until doubled in volume, at least one hour but better two (depending on your altitude, higher altitude makes for a quicker rise).
Once your dough has risen, remove it onto your work surface. For one large braid, divide it into two equal pieces. Roll them into long-ish strands and braid. Otherwise, weigh out 2 1/2 oz (72g) portions of the dough and make mini two-strand challas. Pinch their ends together to form rolls.
Place your challah on a lined baking sheet. Cover with the towel and let rise and relax for another 15 minutes. In the meantime, heat the oven to 400°F (200°C).
Once your bread is ready, brush it well with the beaten egg. You can sprinkle it with poppy seeds (or sesame) if you like.
Bake the large challah bread for 25-30 minutes, small ones for 12-15. They will sound hollow when tapped on the bottom and have a nice golden brown crust.
Allow to cool on a rack. Best eaten warm with butter and honey!