Dissolve the yeast in the lukewarm milk; stir in 120g plain flour and mix into a very sticky dough. Cover and allow the dough to rise for 20 to 30 minutes.
In a small bowl, beat egg yolks, sugar, vanilla extract, vegetable oil and salt together; mix in to the dough, gradually the remaining flour. Knead until you get a soft dough. Cover and allow the dough to rise for at least 6 hours.
To make the filling: Beat the butter, sugar and vanilla together in a bowl until well blended and creamy in texture.
Roll out the dough into a large rectangle, about 1cm thick. Spread the butter filling evenly on top and roll the dough up to form a long cylinder.
Slice the roll into thick 8 (7cm thick) pieces. Gently flatten one side of each piece to seal in the butter filling and prevent it from leaking out during baking.
Line a baking dish with parchment paper. Arrange the pieces in the dish, sealed side down. Leave about 1cm between each piece; cover and allow the dough to rise for 2 hours. They will expand and come closer together, forming a rose-shaped bread.
Preheat the oven to 160 C / Gas 3.
Bake the bread for 40 minutes or until cooked through. If the top starts to get too brown, cover with foil. Remove from oven, cool and serve.
Heat some apricot jam over low heat; mix with a little water to get a runny consistency. Brush on the top of the warm bread. Or mix equal quantities of water and rum and use a baking syringe to inject the liquid into the bread.