To a liquid measuring cup, add the milk. Warm it in the microwave (or on the stovetop) in 30 second increments. Stick your finger down into the middle of the milk to check the temperature. If it is the temperature of baby’s bath water, you are good to go. If it’s too cold, warm it a little longer. If it’s too hot, stir it until it is warm and not hot.
To the bowl of a stand mixer fitted with a dough hook, add the warm milk, yeast and sugar. Let it sit while you crack the eggs.
Using two bowls, crack and separate the egg yolks from the egg whites. One bowl should hold the yolks and the other holds the whites. Set the whites aside to use later on.
Add the egg yolks to the yeast mixture in the stand mixer. Pour in the melted butter (make sure it’s not too hot! You don’t want to kill the yeast). Then add the salt.
With the stand mixer running, add the flour a cup at a time and mix. Once the dough comes together, continue kneading the dough for about 7-10 minutes. I like to set a timer and let the mixer do its thing while I start preparing the fillings.
After the dough has kneaded, it will be very sticky. This is normal. Don’t worry and don’t add more flour (unless you feel it needs just a few extra Tablespoons).
Transfer the dough to a lightly oiled container that has room for the dough to at least double in size. Cover the container and stick the dough in the fridge to proof overnight. The overnight proof will help solidify the butter in the dough, which will make it easier to work with the next morning.