In a measuring cup, add the yeast. Pour in the warm water (under 120 degrees) and stir gently with a spoon. Let the mixture sit for 5 minutes. The yeast should be fragrant and bubbly
In a saucepan on low heat, warm milk on the stove – do not scald or let steam (under 120 degrees). Remove and set aside
In a large bowl, mix eggs, butter, sugar, and salt. Combine with a whisk until incorporated. The mixture will look slightly curdled
Add in the yeast to the egg mixture and whisk together very gently to ensure not to kill the yeast
Add in the warm milk and stir until combined
Using your hands, mix in the flour cup by cup until the mixture is well incorporated. After all the flour is added, the dough will not be smooth yet. Continue to knead the dough scooping dough up from the bottom to the top until the mixture is smooth (this will take about 3-5 minutes of kneading)
Once the mixture is smooth, scrape the sides of the bowl with a spatula so no dough remains on the side. Coat the exposed sides of the bowl with butter to prevent sticking
Top the bowl with a cloth and let rise for 90 minutes - 2 hours. After 2 hours (or until it has doubled in size), punch down the dough and then turn over the dough by pulling the bottom of the dough to the top. Cover with a cloth again and let rise for 90 minutes - 2 more hours (or has risen to double in size again)
Flour a large surface to roll out the dough on. Punch down the dough and lay it onto the floured surface. With a rolling pin, roll out into a rectangle ~12” x 24”
Melt 1 stick of butter and spread over the dough. Sprinkle dough with ½ cup sugar and 3 tablespoons cinnamon
Roll the dough into a long log. The log should be 12" long. With a sharp knife, cut into 1” rolls and place into a buttered 9x13” pan
Cover the pan with a towel and let rise for 1-1 ½ hours until puffy but not overflowing
Bake at 350 for 25-30 minutes until golden on top and cooked through
Let cool slightly while making the cream cheese icing