In a heavy saucepan, heat butter and water to boiling over medium-high heat.
Add the flour and reduce heat to low. Cook and stir until it forms a ball and pulls away from the pan.
Remove from heat and transfer to a large bowl. Using a hand mixer, beat in eggs, one at a time, beating well after each egg.
Spread in bottom and up the sides of an ungreased 9x13 inch pan. Bake for 35 minutes. Cool completely.
Make the chocolate layer:
Melt the chocolate and 2 tablespoons butter in a medium saucepan over low heat.
Stir in 1 cup confectioners' sugar and 1 teaspoon vanilla. Whisk well.
Stir in hot water, one tablespoon at a time, until icing is smooth and able to be drizzled.
Remove from heat, cool slightly, and drizzle over the bottom of the crust.
Make the pudding:
In a large bowl, combine cream cheese and ¼ cup of milk. Beat until smooth. Continue to add the milk in ¼ cup increments, mixing between each addition. This will help you not have cream cheese clumps.
Once all 3 cups are added in, add pudding mix and mix well until it starts to thicken.
Spread this mixture over the fudge-topped crust. Allow to refrigerate and set for 10 minutes.
Top with Cool Whip and then drizzle chocolate syrup over the top.
Refrigerate at least one hour before serving.
Notes
The calories shown are based on the cake being cut into 15 pieces, with 1 serving being 1 slice of cake. Since different brands of ingredients have different nutritional information, the calories shown are just an estimate. **We are not dietitians and recommend you seek a nutritionist for exact nutritional information. The information in the nutrition box are calculated through a program and there is room for error. If you need an accurate count, I recommend running the ingredients through your favorite nutrition calculator.**