Preheat the oven to 350 degrees F.
Grease and flour two 8" round pans and set aside.
With an electric mixer, cream the butter on medium until creamy.
Add the sugar and mix on medium until well mixed, then on medium-high until fluffy-about a minute and a half to two minutes.
Add in the eggs, one at a time, mixing on low after each only until just combined. Scrape down the sides of the bowl and mix again just for another 5 to 10 seconds.
In a medium sized bowl, whisk together the cake flour, baking powder and salt.
In another seperate medium sized bowl, mix the coconut milk, emulsions (or extracts) and the oil. Whisk until mixed well. (Do not discard the milk fat on the top of the coconut milk can. Add all of it and the liquid.)
Add the dry and liquid ingredients alternately to the butter/sugar mixture. (Start with a third of the dry ingredients and mix on medium just until combined. Add in half of the liquid ingredients and mix on medium just until combined. Add another third of the dry mixture, mix, then the last half of the liquid ingredients and mix. End by adding the last of the dry ingredients. Only mix until just combined after each addition.)
Scrape down the sides of the bowl, add the shredded coconut and mix on medium only until the coconut is incorporated. (Be careful not to overmix.)
Pour batter into prepared pans and bake at 350 degrees F for approximately 35 – 40 minutes. A toothpick inserted into the center of the cake will come out with a few moist crumbs on it or clean.
Remove the cake layers from the oven and set on cooling racks to cool for 10 minutes, then turn the cakes out of the pans and directly onto the racks and let cool completely.
Add buttercream too cooled cake.
(Optional: Cover the iced cake with shredded coconut. You can also toast the coconut a bit before covering the cake in it for a deeper flavor.)