Preheat oven to 180°C (350°F) and line a 12 piece muffin tray.
Mix the cocoa and boiling water together until the cocoa has dissolved. Place in the fridge to cool.
Cream the butter and sugar together.
Add eggs one at a time, beating well after each addition.
Mix the flour, baking soda and baking powder together.
With the mixer on, add a 1/3 of the flour mixture to the butter mixture. Then add a 1/3 of the cocoa mixture. Continue alternating between the two, always beginning and ending with flour mixture. Stir in the vanilla extract.
Spoon the mixture evenly between the muffin cases and place in the oven for 15 minutes or until a skewer comes out clean and the cupcakes are soft to the touch.
Place them on a tray to cool completely.
Heat the cream until nearly boiling point over a medium heat. Remove from heat and pour over the caramilk chocolate in a bowl.
Stir until smooth. Allow to cool.
Hollow out the middle of each cupcake and spoon the caramilk ganache into the middle of each and set aside.
Place the softened butter in a bowl and beat until smooth.
Add in half the icing sugar and the melted chocolate and beat until smooth.
Add in the remaining icing sugar and beat.
Add in the milk one tablespoon at a time until you have a stiff but spreadable consistency.
Using a piping bag and a nozzle attached (any nozzle you want for whatever design you desire), pipe the buttercream onto each cupcake. Decorate with two pieces of the caramilk chocolate on top of each cupcake if you wish.