Grease and line three 6-inch round cake pans and set aside. Preheat your oven to 180 C. Melt the chocolate and get your coffee ready.
In a large bowl, sift your flour, salt, baking powder, and baking soda and set aside.
In another large bowl, whip the sugar and butter either by hand or an electric whisk until light and pale and fluffy, add the vanilla and mix. Then add the eggs one by one, mixing after each addition.
Add half of the dry ingredients and fold it in gently. Then add the remaining half. Be very gentle with the batter and do not over mix it or else the cake will become tough and dense.
Now take three separate bowls and divide the batter evenly between the bowls either by using weighing scales or just eyeball it.
Add the melted chocolate into one, the coffee into the second and the salted caramel sauce to the third. Very gently fold the ingredients into the batter, careful not to overmix. (use separate spoons/spatulas for each bowl)
Transfer the batter into individual cake tins and bake at 180 C. I baked the Caramel cake for 25 minutes, Coffee for 30 minutes and Chocolate for 33 minutes. Keep checking for done-ness after 25 minutes by inserting a toothpick into the center of the cake.
Let it cool in the pan on a wire rack.
Make the frosting:
Heat the milk, sugar, and salt on a low medium heat in a saucepan. Once the sugar is dissolved, add the flour and whisk constantly for 4 minutes till the mixture becomes nice and thick. The mixture will boil, that will help to cook the flour and remove the raw taste. Make sure that there are no lumps.
Transfer this mixture into a shallow plate and stick it into the freezer for 25-30 minutes till it cools down.
Once it has cooled down, take the cream cheese and whip it with a hand-held or stand mixer for about 1 minute. Now add half of the solidified milk mixture and whip on high speed for 2 minutes, scraping the bowl intermittently. repeat with the other half.
Once the mixture is smooth (it takes a while but it will come together, just keep whipping, scraping down the sides in between is important). Add the soft room temperature butter and whisk well. You can refrigerate the frosting if it seems loose.
Now, frost the cake, don't forget to fill the layers with the caramel sauce, I used about 30 ml per layer. You can also colour your frosting by using melted chocolate, just make sure it isn't hot. (In case you feel your frosting is too soft, refrigerate it for 10 minutes and resume use)