Bake cake according to directions using two 9 inch round pans.
Prepare the filling and put it on one layer of the cooled cake. To make the filling, simply combine pudding mix, milk and cream and beat with an electric mixer for about 3 or 4 minutes or until thickened. Peaks should form and it should be stiff (as in the photo).
Scoop the pudding onto the first layer of cake and cap with second layer. Keep chilled while you make the frosting. Alternatively, you could freeze the filled cake, wrap tightly and keep frozen until ready to frost.
To make the frosting, in a large mixing bowl, mix the butter, sour cream sugar, cocoa, salt and 2 tablespoons of the cream as well as you can, then beat with a hand-held mixer until thick. Continue adding remaining cream until you get a nice, smooth, spreading consistency. Add whole milk 1 tablespoons at a time if frosting seems to thick. Spread over cake.