Preheat oven to 350°F (or 176°C) and add cupcake liners to a pan.
Add the dry ingredients for your cupcakes (flour, sugar, baking powder, and salt) to a large mixing bowl and combine. Set aside.
Add the wet ingredients for your cupcakes (milk, vegetable oil, vanilla extract, and eggs) to a medium-sized bowl and combine.
Combine the wet and the dry ingredients and beat well.
Slowly add water to the batter and mix on low speed until well combined. Scrape down the sides of the bowl as needed to make sure everything is well-combined. The batter will be very thin.
Fill cupcake liners about halfway and bake for 15-17 minutes, or until a toothpick comes out cleanly. A few crumbs are fine.
Remove the cupcakes from the oven and allow to cool for 2 minutes. Then move them from the pan to a cooling rack to finish cooling.
Frosting
To make the frosting, combine the butter and shortening in a large mixing bowl and mix until smooth.
Add 2 cups of powdered sugar, about a half a cup at a time, into your mixing bowl and mix until smooth.
Add the vanilla extract and 1 tablespoon of water or milk and mix.
Add remaining powdered sugar and mix.
Add remaining water or milk as needed. Mix until the frosting is smooth and creamy, but not too wet.
Pipe the frosting onto the cupcakes using the piping tip of your choice.