Preheat the oven to 180°C / 350°F / Gas mark 4.
Grease 2 x 20cm loose-bottomed cake tins with butter and line with baking paper.
Put the butter and sugars in a large bowl and beat until smooth. In a separate bowl, sift together the flour, bicarbonate of soda and cocoa powder.
Beat the eggs into the butter and sugar mixture, one at a time, following each with a spoonful of the flour mixture.
Put the chocolate, treacle and almond or vanilla extract in a medium bowl, set it over a pan of gently simmering water and allow it to melt.
Remove from the heat when melted and set aside to cool slightly. Then gently fold into the cake mix.
Fold in the remaining flour, alternating with the warmed milk until smooth.
Divide evenly between the two tins, smooth the surfaces of each and then bake for 20 minutes on the middle shelf or until a skewer comes out clean when inserted into the middle.
Turn out onto wire racks and leave to cool completely.
Put the white chocolate and butter in a large bowl over a pan of gently simmering water.
Add 2 tablespoons of boiling water and stir gently until melted and smooth.
Remove from the heat and beat in the icing sugar.
For the white chocolate curls, melt the white chocolate over a pan of gently simmering water.
Pour onto a piece of baking paper and spread until it forms an even layer about 5mm thick.
Chill for about 15 minutes, until just set. Use a vegetable peeler over the surface to make thick curls of chocolate.
Put one cake, bottom side up, onto a large serving platter, top with the white chocolate icing and then put the other cake on top.
For the ganache icing, put the double cream in a saucepan and place over a medium heat and bring just to the boil.
Remove from the heat and quickly add the butter, honey and the chopped chocolate.
Leave to melt and then stir briefly to combine.
Leave to cool slightly then spread over the top and sides of the cake.
Smooth the edges and then decorate with the white chocolate curls.
To store the cake overnight, place it in the fridge.
Take the cake out of the fridge an hour before serving to bring it back to room temperature.