Preheat over to 350° F. Grease and flour three 9-inch round cake pans. In a large mixing bowl, cream the butter and sugar until fluffy. Add flour, baking soda, baking powder, and salt. Pour in buttermilk and begin mixing slowly. Continue to mix until well blended. Add flavorings and stir. In another bowl, beat egg whites until stiff. Fold the egg whites into the cake batter. Divide the batter evenly among the prepared pans. Bake for 20 minutes at 350° F, then lower heat to 300°F and bake for about 25 minutes longer, until a toothpick inserted near the center comes out clean. Remove cakes from oven and cool on racks. After 10 minutes, remove from pans and continue cooling on racks.
Cream Cheese Frosting
8 ounces cream cheese, softened
3 cups confectioners' sugar
2 teaspoons vanilla extract
Combine ingredients in a mixing bowl and beat until smooth. Spread frosting between cooled layers and on top and sides of cake. You don't need a wedding to enjoy this cake!