Preheat oven to 350 degrees Fahrenheit and line the bottoms of two 8-inch cake pans with parchment paper. Then grease and flour the sides.
Whisk together the dry ingredients (flour, baking powder, cinnamon, nutmeg, allspice, and salt) in a medium-size bowl. Set aside.
In a large bowl (or the bowl of a stand mixer), beat together the oil and sugars on medium-high speed until well combined.
Beat in the vanilla and greek yogurt.
With the mixer on low speed, add eggs one at a time, mixing until incorporated after each addition.
Add half of the dry ingredients and mix on low speed until incorporated. Repeat with the remaining half of the dry ingredients.
Fold in walnuts and apples.
Divide batter between the two prepared cake pans and bake at 350 degrees for 42-45 minutes, or until a toothpick inserted into center of the cake comes out with just a few moist crumbs attached.
Let cakes cool in pans for 15 minutes, then turn out onto a wire rack and let cool completely.
Once cakes are done, make the caramel. In a medium saucepan, combine sugar and maple syrup over low heat. Stirring frequently, heat until sugar has dissolved (about 5 minutes).
Add butter to pan and heat until melted, stirring occasionally.
Add cream, stir, and continue to cook mixture over low heat until the mixture thickens and coats the back of a spoon (about 10 minutes).*
Remove from heat, add salt and stir. Pour caramel into a glass jar and let cool while you make the buttercream.
Beat butter on medium-high speed (using the paddle attachment if using a stand mixer) for about 3-4 minutes, until fluffy and light in color.
Turn mixer to low speed and add powdered sugar gradually, mixing until incorporated after each addition.
Add vanilla, maple syrup, and salt. Beat until combined.
With the mixer on medium speed, add heavy cream one tablespoon at a time.
Beat on high until buttercream is light and fluffy.
Once the cakes are completely cool, level each cake and then slice each one in half horizontally (so you have 4 layers).
Put a little buttercream on a cake board so the cake will stick, then place the first layer on top.
Top with about 1/2 cup of buttercream and spread evenly with an offset spatula. Repeat with the second and third layers.
Place the fourth layer on top of the cake, upside down (so the bottom of the cake layer forms the top of the cake).
Frost the top and sides of the cake with a thin layer of frosting (a crumb coat). Then, chill the cake for about 20 minutes.
Use the remaining frosting to finish frosting the cake, and smooth it with an offset spatula and/or cake scraper. Chill again for at least 20 minutes.
Spoon the caramel sauce around the edges of the cake, pushing it just over the edge so it drips down the sides of the cake. Then, fill in the center of the cake with caramel and smooth with the back of a spoon or a small offset spatula.
Decorate as desired. To decorate with apples: place each apple on a skewer cut to the height of your cake, then position each apple as you wish.
*The caramel should thicken, but will probably still look a little thinner than you think it should. Don't worry, it will continue to thicken as it cools.