In a large mixing bowl, whisk together the flour, sugar, yeast, and salt.
In a separate bowl, combine the warm milk and eggs.
Add the wet ingredients to the dry ingredients and mix until a shaggy dough forms.
Add the softened butter and knead the dough on a lightly floured surface until smooth and elastic, about 10 minutes.
Place the dough in a greased bowl, cover with a clean kitchen towel, and let it rise in a warm place for 1-2 hours or until doubled in size.
Punch down the dough and divide it into equal portions. Shape each portion into a ball and place them in a greased loaf pan.
Cover the pan with a towel and let the dough rise for another 1 hour or until it reaches the rim of the pan.
Preheat the oven to 375°F (190°C).
Brush the top of the brioche with the beaten egg yolk mixture.
Bake for 25-30 minutes or until the brioche is golden brown and sounds hollow when tapped on the bottom.
Remove the brioche from the pan and let it cool on a wire rack before serving.