In a large mixing bowl dissolve yeast in warm water with sugar. Add vegetable oil, egg, salt, mashed potatoes and mix well.
Stir in nonfat dry milk powder and all-purpose flour and beat for 3 minutes.
Gradually add the bread flour 1/2 cup to 1 cup at a time.
When dough is workable transfer to a lightly floured surface and knead for 10 minutes.
Grease a large, deep bowl with butter. Form the dough into a smooth ball and place in the bowl with the smooth side down. Then flip over with the smooth side up so the bottom can get greased while the dough rises. Cover with a towel and allow the dough to rise about 45 minutes to an hour until it has doubled. Punch dough down very thoroughly to break up any air bubbles. Regrease bowl with butter. Shape into a smooth ball again. Turn over so the dough is greased on the top and bottom. Cover and let rise for an additional 30 minutes.
Punch dough down again and transfer to a lightly floured surface.
Roll into a rectangle. Dough should be about 1 3/4 inch thick and 15 x 12 inches. Spread softened butter across the dough.
In a small mixing bowl stir together brown sugar and cinnamon. Sprinkle it over the butter and tightly roll the dough up from the long side.
If the roll has stretched out longer than 16 inches, pat the ends towards the center to make a fat 16-inch roll.
With a serrated knife cut the roll using a sawing motion into 8, 12 or more equally sized rolls.
Place cut side up 1 1/2 inches apart (for giant rolls) in greased baking dishes. Cover with a towl and allow dough to rise in a warm place for 30 minutes.
Preheat oven to 325°F. Bake rolls for 10 minutes then raise oven temperature to 350°f and bake 5 to 10 minutes longer depending on the size of the rolls.
Once baked invert pans onto wax paper lined wire racks and allow rolls to cool completely before frosting.
Beat frosting ingredients until blended then frost the tops of the cooled rolls.