Sift together cocoa, flour, baking soda, salt into a bowl.
Put flour mixture all the rest of the ingredients in mixer and mix for 3 minutes.
Pour into cupcake pans or three cake pans.
Bake at 350. Cupcakes take between 15-20 minutes. Mini bundt cakes take 20-25 minutes. One large cake takes between 50-55 minutes. Layer cakes take anywhere from 35-50 minutes.
SPECIAL NOTE: Do not UNDER bake. Do a touch test. The cake should spring back to be done.
Mix together butter and cream cheese.
Mix confectioner's sugar with the cocoa powder.
Add salt and confectioner's sugar and mix well.
Pour in heavy cream which will begin to thin the frosting. Once the frosting is at the consistency you like, add in vanilla and mix until done. You can make the frosting a day ahead, cover with plastic and once ready to frost cakes, take out for 30 minutes.