Preheat your oven to 350°F (175°C) and line a cupcake tin with paper liners.
In a mixing bowl, cream together the butter and sugar until light and fluffy.
Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
In another bowl, whisk together the flour, baking powder, and salt. Gradually add to the butter mixture, alternating with the milk, beginning and ending with the flour mixture.
Divide the batter evenly among the cupcake liners, filling each about ⅔ full.
Bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean. Allow to cool completely before frosting.
For the frosting, beat the butter until creamy. Gradually add the powdered sugar, beating until smooth. Add the milk and vanilla extract, and beat until fluffy. If desired, add food coloring and mix well.
Frost the cooled cupcakes and decorate as desired.