Preheat your oven to 350 degrees F and grease a 24 mini muffin tray. Two trays if you have them and the oven space.
In a large mixing bowl, beat the butter on high speed until light. Add the sugar all at once and continue mixing until light and fluffy. This will take about 3 minutes. Add the eggs, one at a time until they are all incorporated. Add the vanilla and mix until incorporated.
In a medium bowl, sift together the flour, baking powder and salt. Set aside.
With three additions, add the flour and milk. Starting and ending with the milk. Stir just long enough to combine. Don't over mix.
With a teaspoon, fill each muffin cup. Bake for about 5-7 minutes or until a toothpick comes out clean. Remove from oven and place on an wire rack to cool. Remove from tray after a place on the wire rack. Refill the muffin tray and bake your second batch the same as the first.
To make your frosting, beat the butter on high speed until light. Add the vanilla extract and beat for another few seconds. Sieve in the icing sugar, mixing as you go. Once you have mixed in all the icing sugar, add your milk and continue to mix for another 30 seconds or so until it is really creamy. You should have a spreadable consistency. This can be left white, or food colouring can be added to get the desired colour. This time, blue was chosen, as seen above.
I chilled the icing in the fridge for a while because we were working in a pretty hot kitchen. After about 1/2 an hour, I put the icing in a pastry bag and used a large star top nozzle. Then I proceeded to give each mini cupcake a quick swirl. I am not much of a cake decorator. We then topped it with sprinkles and voilà!