Preheat the oven to 350 degrees Fahrenheit.
In a small bowl, whisk together eggs, milk (or buttermilk), and vanilla.
In a standing mixer, mix flour, sugar, baking powder, and salt.
Beat the butter into the flour mixture, one cube at a time, until it looks like coarse crumbs.
Add half of the egg-milk mixture and oil, beat until the batter is light and fluffy.
Add the remaining egg-milk mixture, vanilla pudding, and mix until just combined.
Scrape the sides of the bowl with a spatula.
Spread the batter into greased 8 or 9-inch cake pans and smooth the tops with a spatula.
Bake for 16-22 minutes, depending on the pan depth. Thinner layers cook for less time.
Let the cakes cool, run a knife around the edge, flip over, and frost with milk chocolate frosting.