Pre-heat the oven to 350 degrees. Grease and flour 3 (9 inches) round baking pans. Over a double boiler add water and chocolate, melt the chocolate. Stir until chocolate is completely melted and well combined.
Remove from heat and set aside. In another bowl sift flour, baking soda, and salt. Set aside.
In a large bowl beat butter and sugar with an electric mixer until light and fluffy. Add egg yolks, one at a time beating well after egg one is added. Stir in melted chocolate and vanilla extract. Add the flour mixture alternately with buttermilk beating well after each addition (so add a little flour, then a little buttermilk, repeat until gone). Beat egg whites with an electric mixer on high speed until they form a peak. Fold egg whites into batter.
Pour and divide evenly into the 3 baking pans. Bake at 350 degrees for 30 minutes or until a toothpick comes out clean.
Remove from oven and cool for 15 minutes. After 15 minutes remove from the cake pans and finish cooling on wire racks.
To make the frosting- In a large saucepan add milk, sugar, butter, egg yolks, and vanilla. Cook on medium heat for 12 minutes while stirring constantly until the mixture has thickened and is golden brown.
Remove from heat, stir in coconut and pecans. Cool to room temperature and spreading consistency.
Spread the frosting between each of the layers and then over the top and sides of the entire cake.