Preheat oven to 300 degrees. Generously butter the bottom and sides of 3 - 8 inch cake pans. Set aside.
In a bowl whisk together flour, baking soda, and salt. Set aside.
Using an electric mixer cream butter and sugar together until light and fluffy (about 2 minutes). Add eggs one at a time, beating after each addition. Stir in vanilla, pumpkin and canola oil until combined. Mix in the flour and the milk, alternating between the two, until everything is well combined.
Pour into prepared pans. Bake for 35-45 minutes, until a toothpick comes out clean. Once fully cooked, immediately remove the pans from the oven, and place them in the freezer for 45 minutes. This stops the cooking process, and makes the cake very easy to remove from the pan.
Meanwhile, prepare the frosting. Using an electric mixer beat all of the frosting ingredients together. You can adjust the milk and sugar amounts to get the desired consistency. You want it a little on the thin side, but not so thin that you can drizzle it.
After 45 minutes, remove the pans from the freezer. Remove the cake from the pans, and begin to frost. Spread a layer of frosting between each layer of cake, and then spread along the edges and top.