Note: It is best to separate the eggs when cold and then allow them to come to room temperature before proceeding with the recipe.
Preheat oven to 350F(180C).
Grease and lightly flour three 9x2-inch round cake pans, then line the bottoms with parchment paper.
To make the frosting:
In a large saucepan, beat together the evaporated milk and the egg yolks. Stir in the sugar and butter.
Stir over medium heat for about 15-18 minutes or until thickened and bubbly, and golden in color.
Remove from heat.
Stir in the coconut and vanilla. Cool until just warm, cover with plastic wrap, and refrigerate until cold, at least 2 hours, or up to 3 days. Frosting will thicken as it cools.
DO NOT ADD pecans until just before cake assembly.
To make the cake:
In a small saucepan over low heat, combine the chocolate with the water, stirring to melt the chocolate, and blend well. Set aside to cool for 10 minutes.
In a medium-size bowl, sift together the flour, baking soda, and salt. Set aside.
In a small bowl, lightly beat the egg yolks, about 1 minute.
In a large bowl, on the medium speed of an electric mixer, cream the butter and the sugar until light and fluffy, about 3 minutes.
Add the egg yolks, beating until well combined.
Add the chocolate mixture and the vanilla.
Add the dry ingredients in thirds, alternating with the buttermilk, beating after each addition until smooth.
Separate, in a bowl, beat the egg whites on the high speed of an electric mixer until soft peaks form.
Gently fold into the batter.
Divide batter among the prepared pans.
Bake for 25-30 minutes or until a cake tester inserted into the cake center comes out clean.
Note: Be careful not to over-bake, as this cake has a different, lighter texture than most store-bought.
Allow cake to cool in pans for 10 minutes. Remove from pans and cool completely on a wire rack.
When cake is cool, spread frosting between layers and over top of the cake.