Start the dough at least 4 hours before you want to be eating these or plan to start it the night before and do the first rise overnight in the fridge. Mix warm milk with honey and yeast, set aside for 5-10 minutes until it starts bubbling suspiciously.
Mix 3 cups flour and salt, add margarine, eggs, and yeast mix all at once. Stir until a very soft dough forms. Knead in last cup of flour a bit at a time until you have a soft dough that's not terribly sticky. Cover with a dish towel (or plastic wrap if going in fridge overnight) and leave in a warm place until double its size.
In the meantime make the filling by stirring all filling ingredients together. If it's too stiff you can warm a bit, but it should not be a liquid.
Roll out risen dough into a rectangle about the size and shape of a cookie sheet, around 1/4-12 inch thick. Spread with filling.
Roll length-wise into a big jelly roll and cut into disks about an inch or 1 1/2 inches thick.
Place in a lasagna pan so that when they double in size again they will be touching. This keeps them soft and gooey. Let rise.
Either while they rise or while they bake, make the icing. Again you can warm a bit if it's too stiff, but it shouldn't be a liquid.
Bake buns at 350°F for 20-30 minutes or until just starting to colour. They should not be too crispy or dried out.
Cool, then ice in the pan. Cut apart carefully.
They are best warm, so attack them now or reheat in the microwave later. Flash freezing means freezing in a single layer, usually uncovered, until just solid, then packaging for longer term storage.