In a medium heatproof bowl, place eggs, sugar, lemon zest, and juice. Whisk to combine.
Place the bowl over a saucepan of simmering water (bain-marie).
Cook on moderate heat, whisking constantly, until mixture becomes thick (mine was ready in 10 minutes).
Check your thermometer. Heat to about 170F/75C to cook the eggs.
Remove from heat and immediately strain mixture through a sieve.
Add butter and whisk until completely melted and incorporated, and mixture is smooth.
Press a piece of plastic wrap directly onto the surface (to prevent a skin from forming). Cover and refrigerate for at least 4 hours.