Preheat oven to 350 F (180 C). Line cupcake tin with cupcake liners.
In the bowl of a stand mixer cream butter and sugar until creamed together, scraping the walls of the bowl.
Add eggs one by one, and then add vanilla extract. Beat until just combined.
In a separate bowl combine flour, baking powder and salt.
Mixing on low speed, start adding flour and milk in three additions, alternating and mixing until just incorporated. (Do not over mix batter).
Transfer batter to cupcake liners, filling them about 2/3 of the way.
Bake at 350 F (180 C) for 18-20 minutes. Toothpick inserted into the center should come out clean. (Do not over bake).
Leave cupcakes to cool in the pan for 5 minutes, then transfer to a cooling rack until they cool completely.
Meanwhile prepare the milk chocolate frosting:
In the bowl of a stand mixer with paddle attachment beat butter for 3 minutes on high speed until light and creamy.
Turn speed down to low and add confectioners' sugar, salt and cocoa powder. Beat for 2 minutes.
Turn speed to medium and add vanilla and milk (heavy cream). Beat for another minute.
Pipe or spread frosting onto completely cooled cupcakes.
Decorate with sprinkles.
Store in an air-tight container in refrigerator for 6-7 days.