For the muffins, preheat oven to 350 and grease mini muffing tins.
In a medium bowl, whisk together flour, baking powder, baking soda and salt. Set aside.
Melt butter in a large microwave safe bowl. Stir in sugar, egg, yogurt, milk and vanilla extract until combined. Gradually stir in dry ingredients until no lumps remain.
Remove 1 ½ cups of batter and transfer to another bowl. Add cocoa and ½ cup sugar and mix until well combined.
Spoon a teaspoon on vanilla batter into each cupcake mold, then add a bit of chocolate batter. Use a toothpick to lightly swirl the batters together. Bake for 8-10 minutes. Allow them to cool.
For the frosting, beat butter, cream cheese, sugar and vanilla until smooth. Divide the mixture in half. Add the vanilla pudding to one half and the chocolate pudding and cocoa to the other half.
To assemble the tower, wrap the Styrofoam cone in plastic wrap. Smear a generous layer of frosting on the cone. Starting from the bottom, place the mini muffins onto the cone, security it with toothpicks. (After the first row or two, you might not need toothpicks anymore, depending on how well your muffins stick.)
Add the chocolate and vanilla frosting to a piping bag with a flower tip and fill the spaces between the muffins with frosting.
Spoon 1 Tablespoon of vanilla batter into each cupcake liner. Top with a spoonful of chocolate batter, then more vanilla batter on top until all batters have been used up. At this point you may swirl the batters together very lightly using a toothpick or leave them as is, as I explained in the post. Bake the cupcakes for 20-24 minutes or until a toothpick inserted in the center comes out clean. (Bake for 9-10 minutes if making mini cupcakes.) Allow cupcakes to cool completely before frosting