Cook over low heat, stirring constantly with a wooden spoon, until the mixture thickens to almost puddinglike consistency, about 30 minutes. Remove from heat; transfer to a heat-proof bowl. Stir in butter one piece at a time, until fully incorporated. Stir in lime zest, if desired.