1. Prepare a double-boiler: quarter-fill a large saucepan with water and bring it to a boil.
2. Meanwhile, whisk the eggs with the sugar until pale and thickened, about five minutes. You can use a balloon whisk or electric hand mixer for this.
3. Fit bowl over the boiling water in the saucepan (water should not touch bowl) and lower the heat to a brisk simmer. Cook the egg mixture, whisking constantly, for 2-3 minutes until you see it starting to thicken a bit. Whisk in the finely chopped chocolate and cook, stirring, for a further 2-3 minutes.
4. Scrape the chocolate mixture into a medium bowl and leave to cool to room temperature. It should be quite thick and sticky in consistency.
5. When cool, beat in the soft butter, small pieces at a time. An electric hand mixer is great here, but it is possible to beat the butter in with a spatula if it is soft enough. You should end up with a thick, velvety chocolate butter cream. Chill while you make the caramel topping.