Place the flour in a mixing bowl and create a well in the centre.
Crumble the yeast into the well and add half the milk, the sugar and salt. Gently mix, incorporating a little of the flour as you go. Sprinkle a thin layer of flour over the milk, cover the bowl with a damp tea towel and place in a warm spot for 20 minutes. After this time, the yeast should be bubbling. Add the oil, yolks and remaining milk and mix with a fork, working from the inside out, slowly incorporating all the flour. When it’s too difficult to mix with the fork, use your hands to scoop up the dough from the outside and fold it into the centre. Once it starts coming together, turn it out onto a lightly floured bench and knead into a soft dough, about 5 minutes.
Flour a clean bowl, lightly rub the dough with oil, then place it into the bowl. Dust with flour again and cover with a damp tea towel. Place in a warm spot for 1 hour or until the dough has doubled in size.
To make the filling, place all the ingredients in a small saucepan and melt over low heat for 2 minutes, stirring well. Cool slightly in the fridge – the mixture should still be spreadable.
When the dough is ready, turn it out onto a lightly floured bench and briefly knead, then cut into three equal parts. Roll out each piece into a rectangle, about 30–40 cm long and 15–20 cm wide. Spread one-third of the filling over each rectangle. Tightly roll up each rectangle from the long side.
Once you have three long rolls, gently pinch them together at one end, then braid them together. Tuck the ends in a little, then carefully transfer to a greased and flour-dusted loaf tin. Rest for a further 20 minutes.
In the meantime, preheat the oven to 180°C fan-forced.
Brush the braid with the beaten egg to glaze it, then bake for 25 minutes. Let the braid rest in the tin to cool. Turn it out and serve it by pulling off large pieces. Best eaten fresh.