Preheat the oven to 325 degrees.
Grease and flour two, 8 inch round cake pans and set aside.
Set the butter out and allow it to come to room temperature. It must fully come to room temperature. Don't melt it though. (You can cut it into chunks on a plate and it will come to room temp quicker.)
In a large mixing bowl, add the flour, sugar, baking powder and salt and whisk together.
Add the chunks of butter to the dry mixture and mix with an electric mixer on medium speed until you get a course, sand-like texture.
Add the oil and eggs and mix at medium only until just incorporated. It'll be thick at this point and you don't have to keep mixing until it's smooth right now.
Add the sour cream (or yogurt), milk and extracts and mix at medium speed only until incorporated.
Scrape down the sides of the bowl and then mix again just until it's all incorporated.
Do not over-mix. (Mixing for several minutes is too long.) Just mix until all the ingredients are well incorporated. Batter will be on the thick side.
Pour into prepared pans and smooth level. Bake at 325 degrees for approximately 45 - 50 min.
Cool on a wired rack, in the pans, for about 10-15 minutes, then turn the cakes out onto the racks and allow them to cool completely before covering with buttercream or freezing the layers.
The tops of these cake layers will flatten out as they cool.