- In a small pot off the heat, whisk together the sugar and cornstarch. Add the egg yolks and ¼ cup (60 ml) of the milk. Mix well. Add the remaining milk, the vanilla and butter. Bring to a boil over medium heat, stirring constantly and scraping the bottom and sides of the pot, just until the mixture thickens. Remove from the heat.
- Strain the pudding through a sieve, as needed. Transfer to a bowl and cover with plastic wrap directly on the surface of the pudding. Let cool. Refrigerate for 2 to 3 hours or until the pudding has set and completely chilled.
- When ready to use, mix with a spatula until creamy and smooth.
- In a bowl, whisk the cream, sugar and vanilla with an electric mixer until stiff peaks form. Refrigerate until ready to assemble.
- In a bowl, combine the icing sugar with the milk. Remove 3 tbsp (45 ml) of the icing and place in another bowl.
- In the bowl of 3 tbsp (45 ml) of icing, add the cocoa powder and mix vigorously. Add a few drops of milk as need for a runny texture. Set aside.
- Cover the bottom of an 11 x 8-inch (28 x 20 cm) glass dish with one-third of the graham crackers, breaking them to fit as needed (see note). Cover with the vanilla pudding. Top with another layer of graham crackers and cover with the whipped cream. Top with a final layer of graham crackers and cover with the white icing.
- Drizzle the chocolate icing directly from the bowl in long lines across the length of the dish. Run a toothpick in the opposite direction through the chocolate lines, alternating up and down strokes, to create a marbled pattern. Do not cover the dish. Refrigerate for 24 hours.
Glass dishes with similar dimensions will not be exactly the same shape. Be sure to break the graham crackers to make them fit, especially around the corners, to cover the entire surface of the dish.