In a large bowl, combine water, sugar, and yeast. Stir until dissolved. Set aside
In a large bowl, prepare pudding mix according to directions. Add margarine, eggs, and salt. Mix well, then add the yeast mixture. Blend. Gradually add flour and knead until smooth.
Place in a large, greased bowl. Cover and let rise until doubled. Punch down and allow to rise again. (We were getting impatient and skipped this part, and they were still fluffier then ever!)
Roll out the dough on a lightly floured surface to about 34×21 inch size.
Melt butter for filling and brush on rolled dough. Mix sugars, flour, and cinnamon together and sprinkle over buttered dough. Roll dough up.
Use thread or a sharp knife to cut the roll. Place on greased baking sheet about 1 to 2 inches apart. Cover and let rise until doubled. Bake at 350 for 15-20 min. Remove when golden brown. *If the rolls start to brown too quickly on top or the edges, cover loosely with foil to continue baking until the middle seems done. Frost while still warm.