
Sift the cocoa powder and confectioner's sugar in separate bowls and set aside until needed.
Place the butter and salt in a mixing bowl. Whisk the butter until creamy, light, and fluffy - about 10 minutes on medium high speed. Use the whisk attachment for airy buttercream. Use the paddle attachment for a creamy buttercream. Make sure to scrape the sides and the bottom of the bowl to ensure there are no butter lumps in the whipped butter.
Add the cream and vanilla extract (or coffee extract) and whisk for a further couple of minutes, if you're using cream. (Skip this step if you're using the buttercream in hot weather.)
Lower the speed of the mixer and add the sifted cocoa powder and let it whisk in and get fully incorporated. If you do want a stronger chocolate flavor, you can add more cocoa powder (sifted) at the end as well. Mix the butter mixture for a further 2 - 5 minutes until the cocoa powder is properly and uniformly mixed in (scrape the sides and bottom of the bowl as well).
Add the confectioner's sugar in 3 - 4 additions and mix in on low speed. Once the confectioner's sugar is almost all mixed in with the butter, increase the speed and mix until you have a light, fluffy buttercream. Stop the mixer and scrape down the sides for any sugar and cocoa that's stuck on the bottom or the sides of the bowl. This should take about 2 - 3 minutes, depending on your mixer.
Taste the buttercream at this stage. Add a little more cocoa powder if you want a stronger chocolate flavor. Add any bourbon or alcohol you wish to flavor the buttercream at this stage as well. Turn the mixer on to medium high speed and whisk the buttercream for a further 3 - 5 minutes, until the buttercream is light, fluffy, and creamy.
Optional step - If you used the whisk attachment to make the buttercream, you can use the paddle attachment at the end to remove some of the air bubbles in the buttercream. Switch over to the paddle beater and mix the buttercream on medium speed for a couple of minutes to “break” some of the air bubbles in the frosting. This way your frosting will still be creamy, but with less bubbles.
Optional - Another method to remove excess air in the buttercream is to take a small portion of the buttercream and heat it in the microwave until it's just melted. Add this back to the rest of the buttercream and mix it in using the paddle attachment. The frosting should deflate just slightly and become a little loose but not too runny.
Use the chocolate frosting as needed. You can store it, covered, in the fridge if required, but allow the buttercream to thaw slightly and then whisk / paddle beat the frosting again until creamy and fluffy.