Mix the flour, salt, baking soda, baking powder, and cocoa - set aside.
Whisk the oil, buttermilk, and vanilla together - set aside.
Heat the chocolate in the microwave until it is very soft - it won't get runny because of how Mexican chocolate it made.
In the bowl of a stand mixer beat the butter and sugar until well combined.
Beat the chocolate into the butter mixture.
Add the eggs and egg yolks, one at a time until well blended.
Add the the oil mixture.
With the mixer on low add the dry ingredients until just combined.
Blend in the espresso.
Fill cupcake liners ⅔ full.
Bake for 20 minutes or until a toothpick inserted in the center comes out clean.
Let cupcakes rest in the cupcake tins for a minute or two before removing them to a cooling rack.
Frost when completely cool.
Hot Chocolate Frosting
Heat the cream just under a boil in the microwave.
Add the Mexican chocolate and stir until thick and creamy - no lumps remain. It will be a little grainy because of the Mexican chocolate - it's ok.
Stir in the hot chocolate mix and set aside.
In the bowl of your mixer cream the butter.
With mixer on low beat in half the Confectioner's sugar until crumbly.
Add the remaining Confectioner's sugar and pudding mix.
Beat until well mixed.
With mixer running slowly pour in the cream mixture.
Blend well and then turn the mixer up to medium high and whip until light and fluffy.
Assembly
Swirl the hot chocolate frosting on the cupcake.
Notes
Expert Tip: You can use the same amount (3.2) of milk chocolate, semi-sweet, or dark chocolate plus ½ teaspoon each of ground chipotle chiles and cinnamon if you can't find Mexican chocolate.
If you don't have espresso just use a strong, black coffee.
Make sure all ingredients are at room temperature.
Don't overbake the cupcakes - they'll be dry.
Fill cupcake pans ¾ to allow them to rise properly in the oven.