Whisk the milk into the flour mixture and then transfer to a small saucepan.
Cook over medium heat, whisking constantly for 4 to 6 minutes until it begins to boil. Once boiling, boil for 30 seconds only then remove from heat.
Transfer the pudding mixture to a bowl. Cover with plastic wrap touching the surface so it's completely covered. Refrigerate for 1 hour.
Melt the chopped bittersweet chocolate at 30-second intervals in the microwave. Stir in between each heating until fully melted, then let cool.
In a stand mixer fitted with a paddle attachment, beat the butter for 1 minute. (You can also do this in a large mixing bowl and a hand mixer.)
Then add 1/3 of the pudding mixture to the butter and mix. Repeat until all the pudding has been added. Add the melted chocolate to the bowl and beat just until combined.
Add the vanilla and salt, and mix on medium speed for 6 to 8 minutes. The frosting should be light and fluffy and light brown in color.
Notes
Once whipped, this frosting recipe yields about 8 cups of frosting. This is the perfect amount to frost an 8-inch or 9-inch two-layer cake or 24 cupcakes. You will have extra frosting if it's used on a 9-inch x 13-inch sheet cake.The frosting will thicken when cold and have more of a firm ganache texture - as opposed to its silky soft and whipped texture right after making. If you let the cake sit at room temperature for 3 to 4 hours after removing it from the refrigerator, the frosting will soften up again. Just make sure not to leave it in a really warm area or in direct sunlight.This frosting can be made in advance and stored in the refrigerator, but you will need to let it soften at room temperature for about 1 hour then re-whip it in the stand mixer before using.