Prepare three 8 inch cake pans with parchment paper circles in the bottom, and grease the sides.
Add all dry ingredients to a large bowl and whisk together.
Add eggs, buttermilk and canola oil to the dry ingredients and mix well.
Add vanilla to boiling water and add to mixture. Mix well.
Pour into three 8 inch cakes pans and bake at 300 degrees for about 25-28 minutes, or until a toothpick comes out with a few crumbs.
Remove cakes from oven and allow to cool for about 10 minutes, then remove to cooling racks to cool completely.
Make icing while cakes cool. Beat together butter and shortening until smooth.
Slowly add 4 cups of powdered sugar and mix until smooth.
Add vanilla and Oreo crumbs and mix until smooth.
Add another 4-5 cups of powdered sugar and mix until smooth. Add water or milk until you get a smooth consistency.
Set aside about 3 1/2 cups of icing for the filling inside the cake and add chopped Oreos, if using.
Once cakes are cool, remove cake domes from top with a large serrated knife.
Place first layer of cake on cake plate. Spread 1/2 of the icing with the chopped Oreos on top in an even layer.
Add second layer of cake and add the rest of the of icing with chopped Oreos on top in an even layer.
Add final layer of cake on top and ice the outside of the cake with remaining icing.
Finish cake off with chopped Oreos and crumbs, if desired.