Preheat the oven to 175 degrees Celsius. Line the cupcake trays with cupcake liners and set aside.
In a huge bowl, sift the all-purpose flour, cocoa powder, baking soda, baking powder and salt together. Add in the caster sugar and use a whisk and whisk everything together. Set aside.
In a separate bowl, whisk together the eggs, vegetable oil, vanilla extract and milk.
Add the eggs mixture into the flour mixture and whisk together till they are all combined together. Add in the boiling hot water and mix together gently.
Pour the cake batter into a measuring cup (because it's easier to transfer the cake batter later on, but if you hate washing an extra item... you can just scoop using a spoon or ladle, though it'll be harder to do so). Pour the cake batter into the cupcake liners till 80% full.
Bake for 15 - 20 minutes until a skewer inserted into the centre of the cake comes out clean.
Remove the cupcakes from their trays and let them cool completely on a wire rack before frosting them.
Frosting
Using an electric mixer, beat the cream cheese and unsalted butter together. Gradually add in the icing sugar till the icing sugar is fully incorporated. Beat in the vanilla extract.
Pipe the frosting onto the cooled cupcakes or spread the frosting on with a spatula. Decorate with some melted chocolate if you'd like and serve! (:
Store frosted cupcakes in an air-tight container in the fridge and consume within 5 days. Thaw slightly at room temperature before eating!
NOTES
Use an all-buttercream frosting - simply substitute the cream cheese with equal amounts of unsalted butter.
There's not much icing sugar used in the frosting (I'm not a very huge sweet tooth), so the frosting may be a bit soft to handle, given the warm and humid climate of Singapore. To make it easier to pipe the frosting, transfer the frosting into a piping bag and place the piping bag in the fridge for 15 minutes before using. If not, double the amount of icing sugar to be used for the frosting.