Bring butter and eggs to room temperature by removing them from the refrigerator 30-45 minutes prior to baking.
Preheat oven to 350 degrees F and lightly grease one 13x9x2-inch baking pan. Set aside.
In a medium mixing bowl mix the dry ingredients- stir together the flour, cocoa powder, baking soda, baking powder and salt. Set aside.
In a large mixing bowl beat the butter with an electric mixer on medium speed, gradually increasing speed to high, and continuing to beat for approximately 30 seconds more. In a small bowl whisk together the granulated sugar and the brown sugar until combined. Slowly add the sugar mixture to the butter mixture, beating at medium speed for approximately 4-5 minutes or until butter and sugar is light and fluffy.
Scrape down the sides of the bowl and add the eggs, one at a time, beating well after each addition. Beat in the vanilla.
Next, add the flour mixture and buttermilk to mixture, alternating between each addition (flour...buttermilk...flour...buttermilk...flour). Beat after each addition just until combined. After final addition beat on medium for an additional 15 seconds, scraping down sides if needed.
Spread batter evenly into prepared cake pan and bake for 40-45 minutes, or until toothpick inserted into the center comes out clean. Remove cooked cake from the oven and allow cake to cool completely before applying cream cheese frosting.
Once cool, frost the top of your cake (see instructions below) with desired amount of frosting (I used approximately two-thirds). Cover and store remaining frosting in the refrigerator for later use (or for anyone who really loves their frosting ;)
Sprinkle with rainbow sprinkles, chocolate shavings, candy pieces, or enjoy as-is.