To make the chocolate pudding, in a medium saucepan combine the milk, sugar, and cocoa powder. Set over medium-high heat and warm until little bubbles form around the edges. In a medium bowl, whisk together the egg yolks, cornstarch, vanilla and salt. Slowly whisk in the warmed milk mixture into the egg yolk mixture in a slow steady stream, constantly whisking. Pour the mixture back into the saucepan and return to the heat. Cook, stirring often, until the mixture thickens and bubbles, about 2 to 3 minutes. Pour into a heat-proof bowl, through a fine mesh strainer. Cover the surface directly with plastic wrap and chill in fridge for about 4 hours, or overnight.
To make the vanilla pudding, in a medium saucepan, whisk together the sugar, cornstarch, salt, milk and egg yolk until evenly combined. Place over medium-high heat and cook, whisking constantly, until the mixture thickens and bubbles, about 2 to 3 minutes. Remove from heat and stir in the butter and vanilla extract. Pour into a bowl, through a fine mesh strainer, to remove any lumps. Cover the surface of the pudding directly with plastic wrap and chill in fridge for about 4 hours, or overnight.
To make the strawberry pudding, in a medium saucepan, combine the sliced strawberries, 2 tablespoons granulated sugar, 1 teaspoon vanilla, pinch of salt and lemon juice. Cook over medium heat until the mixture bubbles and the strawberries have softened, about 10 minutes. Carefully pour the mixture into a blender or food processor and pulse until smooth. Set aside.
In a separate medium saucepan, set over medium heat, warm the milk, heavy cream and remaining 1 teaspoon vanilla until bubbles form around the edges. In a small bowl, whisk together the flour, cornstarch, egg yolk, salt and remaining 1/4 cup sugar until evenly combined. Slowly whisk in the warmed milk mixture into the egg yolk mixture, in a slow steady stream, whisking constantly. Pour the mixture back into the saucepan and return to the heat. Cook stirring constantly until the pudding bubbles and thickens, about 2 to 3 minutes. Remove from heat and whisk in the reserved strawberry purée, adding about 1/2 cup to start and then adding more if desired. Pour the mixture into a bowl, through a fine mesh strainer to remove any lumps. Cover the surface of the pudding directly with plastic wrap and chill in fridge for 4 hours or overnight.
To make the whipped topping, beat the cream on high with the powdered sugar, vanilla and salt until soft peaks form. Set aside.
To assemble parfaits, transfer the three puddings into three separate disposable piping bags. Pipe out a layer of chocolate pudding into 6 small ramekins or pudding dishes. Top with a layer of vanilla pudding, then a layer of strawberry pudding. Finish off with a layer of whipped cream and chocolate shavings for garnish. Serve immediately or cover with plastic wrap and keep in fridge for up to 3 days. Enjoy!