Preheat the oven to 350°F (175°C) and line a cupcake tin with liners.
Cream together 1/2 cup of softened unsalted butter and 1 cup of granulated sugar until light and fluffy.
Add 2 large eggs one at a time, mixing well after each addition. Stir in 1 teaspoon of vanilla extract.
In another bowl, whisk together 1 cup of all-purpose flour, 1 teaspoon of baking powder, and 1/2 teaspoon of salt.
Gradually add the dry mixture to the wet ingredients, alternating with 1/2 cup of milk, mixing until just combined.
Divide the batter evenly among the cupcake liners, filling each about two-thirds full. Bake for 18-20 minutes or until a toothpick inserted comes out clean.
Allow the cupcakes to cool completely on a cooling rack before frosting them.
In a mixing bowl, beat 1 cup of softened unsalted butter until creamy and smooth.
Gradually add in 4 cups of powdered sugar while mixing on low speed until well combined.
Add 2 tablespoons of heavy cream and 1 teaspoon of vanilla extract to the mixture, and beat on high speed until light and fluffy for about 3-5 minutes.
Divide the frosting into separate bowls and tint with food coloring as desired for decoration.
Using a piping bag fitted with a flower tip, pipe the colored buttercream onto the cooled cupcakes to create flower designs.
Decorate with additional edible decorations if desired.