Preheat oven to 350 degrees. (If your oven runs hot, set to 325 degrees.
In a large bowl beat together the cake mix, eggs, oil, water, and coconut flavoring on medium/high speed for 2 minutes.
Using a cookie dough scoop or measuring cup, fill cupcake liners 2/3 full with batter. Bake for 15-25 minutes.
While cupcakes are cooling beat together butter, margarine, vanilla, salt, and coconut flavoring. Beat in powdered sugar and slowly add water until you have a fluffy, lightweight consistency.
In a skillet over medium heat, toast coconut flakes. Stir/toss occasionally to prevent burning. Once slightly browned and toasted, remove from heat to a cool plate immediately. Set aside to top cupcakes.
Once cupcakes are cooled frost with coconut buttercream frosting. Top with toasted (cooled) coconut flakes.
*For extra moist cupcakes, try sealing them in a plastic ziploc bag once they are only slightly warm and let them finish cooling in the sealed bag. You won't believe the difference!