In a large mixing bowl, cream together butter and sugar for 4 minutes, or until light and fluffy, scraping the sides of the bowl often.
Add egg and vanilla and mix for 1 minute longer.
Stir in flour, baking powder, and salt. The cookie dough may be crumbly. Using your hands, press into a ball and place in plastic wrap. Chill for 30 minutes in the refrigerator.
Once the dough is chilled, preheat oven to 350 degrees.
Roll out cookie dough onto a floured surface. Press cookie cutter and make desired shapes. Place on parchment paper-lined baking sheet. Bake for 9-13 minutes, depending on preference. Watch carefully. If you want the cookies to be softer and chewier, bake for less time. If you want crispy, buttery edges, watch for the edges of the cookies to start turning a light golden brown color. Remove from oven and let cool.
In a large mixing bowl, cream butter, powdered sugar, milk, and vanilla extract until light and fluffy. Spread on the top of cooled cookies.