Chill your tools: Place a large mixing bowl and whisk or beaters in the fridge for 10 minutes.
Cold tools help the pudding set nicely.
Make the pudding: In the cold bowl, whisk instant vanilla pudding mix with cold milk as directed on the package. Whisk until thick, about 2 minutes. Set aside to thicken further while you prep the rest.
Optional cream cheese layer: In a separate bowl, beat the softened cream cheese until smooth.
Add the sweetened condensed milk and vanilla extract. Beat until silky and lump-free.
Combine fillings: Fold the cream cheese mixture into the pudding (if using). Then gently fold in about half of the Cool Whip until the mixture is light and creamy.
Reserve the remaining Cool Whip for the top.
Slice the bananas: Peel and slice bananas just before layering. Toss lightly with lemon juice if you want to slow browning, then pat dry.
Layer the dessert: In a 9x13-inch dish (or a deep trifle bowl), add a layer of vanilla wafers. Top with half of the banana slices.
Spoon half of the pudding mixture over the bananas and smooth it out.
Repeat the layers: Add another layer of wafers, the remaining banana slices, and the rest of the pudding mixture. Smooth the top.
Add the topping: Spread the remaining Cool Whip evenly over the pudding. Crush a handful of wafers and sprinkle on top for texture.
Chill: Cover and refrigerate for at least 2 to 4 hours, or overnight for the softest, cake-like wafers.
Serve: Scoop into bowls or slice into squares.
Add extra banana slices or wafer crumbles right before serving if you like.