Combine flour, sugar, salt, yeast and milk in a mixing bowl and mix on low speed till it comes together. As dough comes together, add 1 egg at a time then add butter gradually. Continue to mix at medium speed till smooth and elastic. Do not over mix.
Place in a clean bowl and wrap with plastic wrap, place in the refrigerator and allow to double in size. Letting the dough rest overnight is best. When doubled, “punch down” to deflate, and wrap again to allow it to rise again
At this point, make the cream cheese filling.