Dough: In a 16 oz. measuring cup, add milk and butter. Microwave for 1.5 minutes. Mix well and add sugar and yeast.
In a big mixing bowl, add 4 cups of flour, 1 teaspoon salt, 1 teaspoon ground cardamom, 1 egg, and the yeast mixture. Using your hands, bring the dough together.
On a flat surface, knead the dough for 5 minutes. Place in a greased bowl, turning once to grease the top. Cover and let rise in a warm place until doubled about 1 hour.
Preheat oven to 350F/175C.
Divide into 10 equal pieces; shape each into a ball. Place 3 in. apart on greased baking sheets. Let them rise for another 30 minutes. Brush each bun with a mixture of 1 egg yolk and 1 tablespoon milk.
Bake for 20 minutes or until golden brown. Remove and place them on a cooling rack.
Marzipan: In a small mixing bowl, whip 1 egg white until soft peaks form, fold in the ground almonds and icing sugar.
Whipped cream: In a medium mixing bowl, add whipping cream, 2 tablespoons icing sugar and 1 teaspoon vanilla extract. Using an electric mixer, whisk on high speed until medium to stiff peaks forms, about 2 minutes.
How to assemble: Cut the top of each bun with a knife. Fill with about 1 tablespoon of marzipan. Pipe some whipped cream. Place the tops back and sprinkle some icing sugar.
I made the dough using a bread machine. Add ingredients to bread machine pan in the order suggested by manufacturer. Use dough setting and continue with step 4 on the recipe card.