Cake: Preheat oven to 180 degrees C. Grease and flour two 20cm cake tins.
Sift together the flour, baking powder, bicarb soda and salt. Set aside. In a separate small bowl, gradually stir together the milk into the cocoa then whisk until the mixture is smooth.
In a large bowl cream together butter, copha and sugar until light and fluffy. Add the eggs one at a time, beating well with each addition, then stir in the vanilla. Add the flour mixture alternately with the milk mixture; beat well. Spread the batter evenly into the prepared cake tins.
Bake in the preheated oven for 35 to 40 minutes, or until the layers shrink from the sides of the cake tins and the tops spring back when gently pressed with a fingertip. The cake is dense and moist, so be careful not to over-bake it. Cool the layers in the tins for 10 minutes, then carefully invert them onto the racks and cool completely.
Filling: In a small bowl, whisk together the sugar, cornflour and salt. In a saucepan over medium heat combine the milk with sugar mixture. Add the chopped chocolate and bring the mixture to a boil, stirring constantly. Boil until the mixture is thick and bubbly, about 3 minutes.
Remove from the heat and stir in the vanilla. Pour into a bowl and cover with plastic wrap directly on the surface to keep the pudding from forming a skin. Refrigerate until cool.
Icing: In a medium bowl, beat the butter, vanilla and eggs until light and fluffy. Add the icing sugar two tablespoons at a time, beating well after each addition. Beat in the melted chocolate until well blended. Refrigerate for 15 minutes while you fill the cake.
To Assemble: Using a long serrated knife, slice each cake layer in half horizontally, making 4 layers.
Spread the filling between 3 of the layers of cake. Ice cake with the icing then crumble the remaining cake layer. Stick crumbs to the entire iced surface of the cake. Sprinkle any leftover crumbs over the top of the cake. Store in a cool place and serve within 24 hours.