CAKE: Preheat oven to 350.
Grease and flour 2 8-inch round baking pans.
Cream butter with sugar until fluffy.
Add eggs individually, beating well after each addition. Add coconut extract.
In a separate bowl, combine flour, baking powder, and salt.
Add half of flour mixture to butter mixture and beat just to combine.
Add half of coconut milk and, again, beat just to combine. Repeat with remaining flour and milk.
Divide batter between prepared pans.
Bake for 25 minutes, or until a toothpick inserted in the center comes out clean.
Cool in pans for 10 minutes, then remove cakes from pan and place on baking rack to cool completely.
FROSTING: Beat cream cheese and butter until creamy.
Add powdered sugar, coconut milk, and coconut extract, and mix well.
TO ASSEMBLE: Slice each layer of cake into two halves (horizontally).
Place a half layer on plate or cake stand and top with a thin layer of frosting.
Place another layer of cake on top of frosted layer; frost. Repeat with two remaining layers.
Frost sides of cake.
Using small handfuls of coconut, firmly press coconut into sides and top of cake.