In a bowl of a stand mixer, combine the flour, salt, sugar and yeast.
Add the milk, egg and vanilla bean paste (optional), and run your stand mixer, fitter with a dough hook attachment for 5-6 minutes, until well combined.
With the stand mixer running, little by little add the softened butter and keep on mixing for 10-12 minutes, until the dough looks glossy and elastic and gathers around the dough hook. It is ready, when you can stretch a small piece of dough so thin, that you can see through it without it tearing - it is known as a windowpane test).
Grease a large mixing bowl with a little oil. Shape the dough into a ball, and place into to the oiled bowl. Cover it with plastic wrap or darmp kitchen towel and leave it in a warm spot to rise for 1.5-2 hours. It should double in volume.
Knock the air out of the proofed dough and divide it into 3 equal pieces.
Roll each piece of dough into a long string using the palms of your hands to create tension on the work surface.
Pinch the ends of the three dough strings together at one end (see photos above) and braid them, tucking the ends under the loaf.
Place the loaf onto a parchment paper-lined baking sheet. Cover it with a lightly oiled sheet of plastic wrap (this will prevent the surface form drying out). Leave the shaped bread to to rise in a warm place for 1 hour. It should bulk up by about 50%. Do not let it double, or you will not get much oven spring.
In the meantime, preheat the oven to 360°F (180°C).
Gently brush the top of the braided loaf with beaten egg yolk. Then sprinkle the top with poppy seeds (or sesame seeds).
Bake for 25-30 minutes, until golden brown and sounds hollow when tapped on the bottom.
Leave the loaf to cool down on a wire rack for at least 20 minutes for tearing it, or cool down completely for slicing.