Pre-heat oven to moderate (180 degrees celsius, fan-forced).
Grease pudding basin and line with baking paper.
Cream butter, sugar and vanilla extract.
Add eggs, one at a time, beating well to combine.
Alternately add sifted flour/cocoa and milk until well combined.
Pour mixture into pudding basin, place in oven and bake for about 1 hour.
Test cake is ready by lightly touching top (it should spring back) or inserting a skewer (which should come out clean).
Allow cake to cool for a few minutes before inverting and turning out onto a cooling rack.
Icing and decorating
Place chocolate cake on a cooling rack and place baking paper underneath the rack.
Once cake is completely cool, mix up chocolate icing by combining all ingredients and adding water slowly until you have a runny paste.
Pour chocolate icing over cake and use a spatula to ensure it completely covers the cake.
Place currants and sultanas around the lower ⅔ of the cake.
Mix up vanilla icing. It should be thicker than the chocolate icing so it holds its shape and just spreads slightly. Place vanilla icing on top of cake and encourage it to ooze down at a few points around the cake.
Add cachous to the vanilla icing and place raspberries and spearmint leaves on top of pudding.
Allow icing to set.
Serve with a little extra vanilla icing (made a little runnier with more water) which can be poured over individual slices.