Preheat your oven to 350°F (175°C) and line a cupcake pan with cupcake liners.
In a mixing bowl, cream together the softened butter and granulated sugar until light and fluffy, about 2-3 minutes.
Add the eggs one at a time, mixing well after each addition, then stir in the vanilla extract.
In a separate bowl, whisk together the all-purpose flour, baking powder, and salt.
Gradually add the dry ingredients to the wet mixture, alternating with the milk, beginning and ending with the flour mixture. Mix until just combined.
Divide the batter evenly among the cupcake liners, filling each about two-thirds full.
Bake in the preheated oven for 18-20 minutes, or until a toothpick inserted into the center comes out clean.
Allow the cupcakes to cool in the pan for 5 minutes, then transfer them to a cooling rack to cool completely.
While the cupcakes are cooling, prepare the frosting by beating the softened butter until creamy, then gradually add the powdered sugar and mix in enough milk to reach the desired consistency.
Divide the frosting into separate bowls and add food coloring to create the desired colors for decorating.
Once the cupcakes are completely cooled, frost them using a piping bag or a knife, and add edible decorations on top as desired.