Preheat the oven to 350°F. Grease two 9-inch round baking pans and cut parchment paper to fit the bottom of each pan. Grease and flour two 9-inch round baking pans. Set aside.
In a medium-sized bowl, whisk together flour, baking powder, baking soda, and salt. Set aside.
In a large mixing bowl, whisk together the hot coffee (or water) and cocoa powder. Then, add sugar, oil, eggs, and vanilla and mix until well combined. Add the dry ingredients in three rounds, alternating with the milk.
Divide batter evenly between prepared pans and bake for 30 to 35 minutes, until the center of the cake springs back slightly when touched. Cool in pans for 10 minutes. Then, remove the cakes from pans and onto a rack to cool completely.
MAKE THE FROSTING
Add the butter to a large bowl and using a handheld mixer, mix on medium-high speed for about 3 minutes. You could also use a stand mixer fitted with a paddle attachment. Add the powdered sugar, cocoa powder, salt, milk, and vanilla and begin mixing on low. Slowly increase the speed and mix until smooth and well-combined.
FROST THE CAKE
Use a long serrated knife to trim and level off the top of the cakes, if necessary. Place a small dollop of icing in the center of your serving platter or cake stand, and situate one of the cake rounds over it.
Add about ⅓ of the remaining frosting to the cake round on the platter and use an offset icing spatula to spread it to the edges. Place the second cake round on top of the icing. Add a generous cup of frosting to the top of the cake and use the spatula to push the icing outward in all directions and down the sides. Repeat until all of the icing has been applied.
DECORATE
Once the cake is iced, Add individual KitKat sticks all along the sides. Wrap the ribbon around the cake, tie it into a bow, and trim any excess fabric from the ends. Once the ribbon is secured, pour the M&M's over the top, serve, and enjoy!