Cake: Preheat the oven to 350°F. Butter and flour 2  inch round cake pans. Set aside. (Alternately prepare 3 (8-inch) round cake pans)
In the bowl of a stand mixer, cream together the butter, sugar, brown sugar and flavorings. Cream for 2-3 minutes until combined. Add the eggs 1 at a time beating well after each addition.
Sift together the flour, cocoa, baking soda, baking powder and salt. Add to the creamed mixture alternately with the buttermilk starting and ending with flour.
After all of the dry ingredients have been added, scrape the sides and bottom of the bowl. Beat for 30 seconds on medium-high until creamy. Divide batter evenly between pans.
Bake for 30-40 minutes or until a toothpick inserted into the center comes back clean. Cool in the pan for 30 minutes or until the sides release from the pan then remove and cool completely on a cooling rack.
Icing: In the mixing bowl of a stand mixer, cream together the butter and vegetable shortening for 3-5 minutes until light and fluffy.
Melt the chocolate in the microwave on 50% power until it's completely smooth. Stir well. Cool the chocolate slightly.
Add the melted chocolate and the vanilla to the ingredients in the mixing bowl and continue to beat on medium-high speed. Stop and scrape the sides and bottom of the bowl periodically.
Lower the speed of the mixer and begin to add the sifted powdered sugar alternatively with one tablespoon of heavy cream at a time. Continue this process until all of the powdered sugar is added.
After all of the powdered sugar has been added increase the mixer speed, and whip with the mixer until the icing is light and fluffy adding additional cream as needed until you reach your desired spreading consistency.
Frosti between layers, top and sides of cake. Chill for 2 hours or until serving.
Allow frosted cake to sit on the counter for 30 minutes prior to serving, so, the icing can soften to room temperature. Store cake chilled.