Place eggs yolks in a small bowl and lightly beat until smooth. Set aside.
Combine sugar and milk in a medium saucepan and heat over medium heat until steaming. Slowly drizzle in 1 cup warm milk mixture into egg yolks, beating constantly until smooth.
Add egg yolk mixture and cornstarch-water mixture to saucepan and cook over medium heat, whisking occasionally until bubbly and thickened.
Remove pudding from heat and whisk in lemon juice, zest, and butter. Allow pudding to cool slightly then spoon into serving glasses, press plastic wrap directly to surface of pudding, and chill 2 hours.
Cream Cheese Frosting
Place cream cheese and butter in a large bowl (or a stand mixer fitted with paddle attachment) and use an electric mixer to beat on medium speed until 2-3 minutes until creamy.
Add vanilla and powdered sugar to cream cheese mixture and beat an additional 2-3 minutes until frosting is completely smooth and creamy. Beat in 1 tablespoon milk and more as needed to thin frosting. Refrigerate frosting until ready to serve pudding.
When ready to serve pudding, remove plastic wrap from glasses and spoon cream cheese frosting over top. Top with freshly grated lemon zest if desired and serve. Enjoy!
Notes
Storing InstructionsStore pudding in refrigerator up to 4 days.