In a small bowl whisk together the egg, sugar, and cornstarch until blended; set aside.
In a medium saucepan heat the half-and-half and milk over medium heat until hot. Whisking constantly, pour a small amount of hot milk into the egg mixture. Stir egg mixture into milk mixture in saucepan. Reduce to medium-low. Cook, stirring constantly with a wooden spoon, until thickened. Remove from heat. Whisk in chocolate until smooth. Cool slightly, then pour into trifle bowl as directed in Layer 1.
In a medium saucepan stir together the 1-1/2 cups sugar and water. Heat over medium heat about 5 minutes until sugar is dissolved. Brush the insides of pan with a pastry brush dipped in water to prevent sugar from sticking to sides. Increase heat to high. Cook 10 to 14 minutes, without stirring, until sugar is amber color. Remove from heat.
Wearing oven mitts, slowly add 1/4 cup of the whipping cream, being careful because hot sugar will sputter as cream is added. Using a wooden spoon, stir in the cream. If cream sputters, stop stirring and let bubbles subside before continuing. Carefully add remaining 3/4 cup cream. Stir until combined. Cool slightly (should still be warm), then whisk in the butter. Refrigerate Caramel Sauce until cold and firm.
LAYER 1 Smoothly spread Chocolate Pudding in a 2- to 2-1/2-quart clear glass bowl or trifle dish, covering bottom of dish. Place plastic wrap directly on pudding. Refrigerate until cold.
LAYER 2 Spread creme fraiche on pudding layer.
LAYER 3 Spread Caramel Sauce on creme fraiche.
LAYER 4 In a large chilled mixing bowl whip 1 cup whipping cream and 2 tablespoons sugar with electric mixer on medium until stiff peaks form. Spoon on caramel layer.
LAYER 5 Just before serving, arrange gingerbread cookies around the edge of the trifle. Top with currants.