Preheat the oven to 325° and line a 9x13 baking dish with aluminum foil and leave a little foil hanging over the edge. This makes it easy to just lift the brownies out of the baking dish.
For the Chocolate Pudding
In a medium bowl beat condensed milk and ice water on medium speed until combined.
Add the instant pudding mix and beat until smooth, about 2 minutes.
Cover with plastic wrap and place in the refrigerator until firm, at least 2 - 4 hours.
Once the pudding has firmed up, in a medium bowl, beat heavy cream until stiff peaks form.
Spoon the pudding mixture into the heavy cream, a little at a time, and gently stir until blended.
For the Brownies
In a large bowl, make the brownie batter according to the package directions and spread in an even layer in the prepared baking dish.
Bake for 45-50 minutes or until a toothpick inserted comes out with moist crumbs.
Remove from the oven, lift out of the baking dish and place on the counter to cool.
Once cool, slice baked brownies in half lengthwise.
Next, spoon half of the chocolate pudding over the bottom half of the brownies.
Place the top half of the brownies on top of the pudding and then top with the remaining pudding mixture.
Sprinkle with mini chocolate chips, cover with plastic wrap and place in the fridge until ready to serve.
When ready to serve, top whipped cream, hot fudge, and maraschino cherries, if desired.