In a large mixing bowl, whisk flour, yeast, and salt together in a bowl.
In a separate bowl, whisk milk, sugar, egg yolks, and vanilla together, until sugar has dissolved.
Using a dough hook, start mixing the flour on low speed, and slowly add the milk mixture, letting it mix until a cohesive dough forms. (About 2 minutes of mixing)
Increase the speed, and start adding your butter to the mixing bowl. You want to add it in little bits. I cut mine into cubes, and drop them in one at a time.
Continue to knead the dough with the dough hook for 10-12 minutes.
Transfer dough to a lightly floured surface. Knead by hand until smooth, about 30 seconds.
Form dough into a smooth ball, and place seam side down in a greased bowl, cover with plastic wrap. Let rise until increased in size by half. Approximately 1 1/2 hours to 2 hours.
Place in refrigerator, let the dough firm up. This will be 1 hour or so.
Rest at room temp for 15 minutes.
Roll dough out into a rectangle
Mix filling ingredients together by hand, then spread 9/10 of the filling over the interior of the dough.
Spread filling over dough leaving a boarder of a half inch around the edges.
Roll dough to form a cylinder, like you would a cinnamon roll. Pinch ends together to close them off.
Take remaining filling and spread it over the top of the cylinder.
Fold one end of the cylinder over to the other end, and twist twice to form a double figure eight.
Spray a loaf pan with non-stick spray. Place dough into the loaf pan, and cover with greased plastic.
Let rise for 1 1/2 to 2 hours.
Preheat oven to 350 degrees
Mix an egg wash together by lightly beating with a fork the egg, water, and salt.
Bake 40-45 minutes until loaf is golden brown.
Let cool in pan for 15 minutes. Then dump out, and cool for 2-3 hours before serving.