Set your oven to 370°F (190°C). This makes sure your cake bakes evenly.
Grease and flour two 9-inch (23 cm) round cake pans. This keeps the cakes from sticking to the pans.
In a large bowl, whisk together the flour, cocoa powder, baking powder, and salt. This helps spread the dry ingredients evenly in the batter.
Microwave the chopped chocolate in a small bowl for 30 seconds. Stir until it's smooth. This makes the chocolate ready to mix into the batter.
In a medium bowl, beat the eggs. Gradually add the sugar and continue beating until the mixture is light and fluffy. This adds air, making the cake lighter.
Slowly mix the flour mixture and milk into the egg mixture, alternating between the two. Stir in the melted chocolate and oil. This blends everything into a smooth batter.
Pour the batter into the prepared pans. Bake for 25-30 minutes, or until a toothpick inserted in the center comes out clean. This ensures the cakes are fully baked.
Let the cakes cool in the pans for 10 minutes. Then, remove them from the pans and let them cool completely on a wire rack. This makes them easier to handle later.
Toast the pecans in a dry skillet over medium heat for 2-3 minutes until fragrant. Set aside. In a medium saucepan, whisk together the milk, egg yolks, brown sugar, butter, golden syrup, vanilla, and salt. Cook over medium heat, stirring constantly, until thickened, about 10 minutes. Remove from heat and stir in the toasted pecans and coconut. Let it cool completely. This makes the delicious coconut and pecan filling.
Beat the butter until smooth. Add the powdered sugar and cocoa, and mix well. Add the milk and vanilla, and beat until light and fluffy. This makes a rich chocolate frosting.
Place one cake layer on a serving plate. Spread half the coconut filling on top, leaving a 1/2-inch border. Place the second cake layer on top. Frost the top and sides with the chocolate frosting. This puts the cake together.
Refrigerate the cake for at least 2 hours before serving. This helps the filling set and makes the cake easier to cut and serve.