In a large bowl using a hand-held mixer or stand mixer fitted with a paddle attachment, beat the butter and sugar on medium speed for 4-5 minutes or until light and fluffy. Beat in egg yolks and vanilla extract until combined. Scrape down the sides and bottom of the bowl as needed.
On low speed, slowly add flour and salt to butter mixture. Do not over mix but make sure all the flour is incorporated.
Divide the dough into 2 equal parts. Add some powdered sugar to rolling pin and parchment paper. Roll each portion out onto a piece of parchment to ¼″ thickness. Chill in fridge for 1 hour.
Preheat oven to 350°F. Line 2 baking sheets with parchment paper. Remove dough from fridge and use a cookie cutter to cut in shapes. Transfer the cut cookie dough to the prepared baking sheet. Re-roll the remaining dough and continue cutting until all is used.
Bake for 10-12 minutes, rotating pan halfway through. You will know the cookies are done when the edges are firm but the middle is still a little soft. Allow to cool for 5 minutes on pan and then transfer to wire rack to cool completely.
While cookies are cooling, make the glaze. In a medium bowl, whisk together the sugar, milk, corn syrup, vanilla extract and salt. It should be thick. If it is too thick, add another ½ tablespoon of water. If it is too thin, add more powdered sugar in 1 tablespoon increments. You know the icing is right when you let some of it drizzle off the whisk and a ribbon holds for a few seconds before melting back into the icing. If desired, add gel food coloring to the icing.
Decorate the cookies however you'd like the with glaze icing. The icing should be completely set in 24 hours so you can stack them. The cookies should last about 5 days at room temperature.