Preheat the oven to 350°F (175°C).
Prepare the cake mix according to package instructions using the water, oil, and eggs.
Pour the batter into a greased 9x13 inch baking dish and bake for 30-35 minutes.
Remove the cake from the oven and allow it to cool for about 10 minutes.
Poke holes all over the top of the cake with a fork or skewer.
Pour the chocolate fudge sauce evenly over the cake, ensuring it fills the holes.
In a bowl, whisk together the instant pudding mix and milk until combined and smooth.
Spread the pudding mixture over the cake, smoothing it into an even layer.
Top with whipped topping, spreading evenly across the pudding layer.
Garnish with chocolate shavings or chips before serving.
Refrigerate for at least 2 hours before serving to allow flavors to meld.