Preheat the oven to 350 degrees F, grease and flour two 8-inch pans (or two 9-inch ones)
Whisk the dry ingredients in a medium bowl and set aside.
Beat the butter, oil, and sugar in a large bowl on medium speed till well combined then increase the speed and whip for 3-4 minutes.
Add the eggs and egg yolks in three additions, whipping for a minute between each addition. The mixture should look nice and fluffy.
Mix in the Vanilla Extract
Now with the mixer on low add the dry ingredients and buttermilk in two additions each, alternating between the two. So: first half the flour, then half the buttermilk, then the remaining flour and remaining buttermilk.
Mix until JUST combined and then stop. Scrape the sides and bottom of the bowl with a spatula to stir in any streaks of flour.
Divide the batter between your pans and bake for 30-35 minutes for an 8-inch pan or until a skewer inserted in the middle comes out clean. For a 9-inch pan this should be somewhere between 25-28 minutes.
Melt the chocolate in a medium sized bowl till just smooth.
Add the icing sugar first then the butter and coffee powder and mix on low until well incorporated. This will take 3-4 minutes
Now add the vanilla extract, the salt and the cream and whip on medium speed. The icing will become nice and fluffy. Taste - if it is too sweet you can adjust the taste with a little cocoa powder or coffee and if it is too dark for you then add a little icing sugar. Mix just enough to incorporate.
Once the cakes have cooled completely use a large knife to remove the domed tops.
Now spread half the icing between the first and second layer. You can also pipe large stars on the outside rim and then just fill the middle like I have.
If you are using any of the optional add ins put them in now.
Place the second cake layer on top and decorate the top with the remaining frosting finishing with your toppings of choice
This recipe works well with a quick DIY buttermilk. Before you start baking put 1 tbsp of Vinegar in a measuring cup and top it up with regular milk to the 1 cup mark. Let it sit until you need to use it - it will look a little curdled and that's just fine!