In a small bowl, combine warm water, yeast, and sugar. Stir until dissolved and set aside.
In a large bowl, prepare pudding mix according to package directions. Add melted margarine, eggs, and salt; mix well.
Add the yeast mixture to this bowl and blend until smooth.
Gradually add flour, kneading the dough until smooth.
Place the dough in a greased bowl, cover, and let rise until doubled.
Punch down the dough and let it rise again.
Roll out the dough on a floured board to a size of 34 x 21 inches.
Spread 1 cup of soft butter over the surface.
In a bowl, mix 2 cups brown sugar and 4 teaspoons cinnamon; sprinkle over the butter.
Roll the dough up tightly and cut into 2-inch pieces using a knife or kitchen thread.
Place rolls on a lightly greased cookie sheet, 2 inches apart, and press down slightly with your hand.
Cover the rolls and let them rise until doubled again.
Preheat oven to 350°F (175°C). Bake the rolls for 15-20 minutes, or until they start to turn golden. Avoid over-baking!
While warm, frost the rolls with cream cheese frosting.