1) Preheat the oven to 350°F. Grease and flour four 8" cake pans.
2) To make the cake: In a large bowl, whisk together the granulated sugar, flour, cocoa, baking powder, baking soda, and salt.
3) Add the eggs, milk, oil, and vanilla. Beat on medium speed for 2 minutes.
4) Add the water, stirring to combine.
5) Divide the batter evenly among the prepared pans.
6) Bake the cakes for 25 minutes, until they begin to pull away from the sides of the pans, and spring back when lightly touched in the center.
7) Remove the cakes from the oven, and cool completely in the pans.
8) To make the frosting: Beat the butter and peanut butter until fluffy.
9) Beat in half the confectioners' sugar and the salt. Continue adding confectioners' sugar in batches, alternating with the milk, until everything is incorporated. Adjust consistency with more milk or sugar as needed to make a spreadable frosting.
10) To make the filling: Sift the cocoa, confectioners' sugar, and salt into a large bowl.
11) Add the butter and shortening, and beat at low speed until the mixture comes together.
12) Add the milk, beat for another minute, scrape the bowl, and add the marshmallow crème.
13) To assemble the cake: Turn the cakes out of the pans. Place one layer, top side down, on a serving plate; trim off any dome beforehand, if necessary. Cover with 1/3 of the filling, and repeat with the remaining layers. Cover the top and sides with the peanut butter frosting, and garnish with chocolate pieces or shavings and peanuts, as desired.
Yield: 20 servings.