Preheat oven to 350°F.
In a medium bowl, whisk together eggs and milk. Add in vanilla, oil, sour cream and vanilla pudding mix and whisk to combine.
Slowly add in yellow cake mix and stir to incorporate fully. Remember you do not want to overstir here.
Scoop batter into cupcake lined cupcake pan and fill each liner about 2/3 full.
Bake for about 15-18 minutes or until a toothpick comes out clean.
Allow cupcakes to cool completely.
While cupcakes are cooling, using a standing or hand mixer, beat softened butter and vanilla until nice and creamy.
Add the cocoa powder along with one cup of the powdered sugar and beat until smooth.
Continue to add in the rest of the powdered sugar and beat.
Slowly add in milk or cream one tablespoon at a time until frosting is to desired consistency.
Ice cupcakes with a knife or use a fun icing tip and icing bag.