Preheat oven to 350 degrees F. Lightly butter 2 (8-inch) cake pans and line with parchment. Butter the parchment and flour pans, shaking out the excess.
Sift together flour, cocoa, baking soda, baking powder, and salt. Reserve.
In a mixer with a whip attachment, beat eggs and sugar until thick and lemon-colored. Beat in the melted butter. Alternately add dry ingredients with buttermilk, scraping the bowl once or twice. Add the coffee and vanilla to form a thin batter. Divide between prepared cake pans.
Bake until a toothpick inserted in the center of a cake comes out clean, about 40 to 45 minutes. Cool in pan for 15 minutes. Invert onto cooling racks, peel off paper and cool completely.
When cool, split each cake in half with a serrated slicing knife. Freeze the layers for 1 hour before assembling the finished cake. Make the filling and icing while the layers are freezing.
Place the first layer on a cake serving dish and spread a thin layer of the filling evenly over the cake. Repeat this process until you have the layers assembled, spread the icing over the top layer and around the sides.
Serve with Caramel Ribbon Ice Cream.
Place the chocolate in a double boiler and heat until completely melted. While the chocolate melts, use an electric mixer with a wire whip attachment to beat together the cream cheese and powdered sugar. Beat until it is light and fluffy. Allow the melted chocolate to cool slightly, then drizzle it into the cream cheese mixture and continue beating until the filling is cool. This spreads best if used immediately.
Melt the chocolate over a double boiler. Use an electric mixer with a wire whip attachment to cream together the butter and powdered sugar. Add the melted chocolate and vanilla extract and beat until light and fluffy. As with the filling, this spreads best if used immediately.