Combine first 3 ingredients in a saucepan. Gradually add 2 cups milk; stir with a whisk until blended. Cook mixture to 180° or until tiny bubbles form around edge (do not boil).
Combine remaining 1 cup milk, egg, and egg yolk in a bowl; stir with a whisk.
Gradually add 1 cup of hot milk mixture to egg mixture, stirring constantly with a whisk. Add egg mixture to saucepan. Bring to a boil; cook 1 minute or until thick, stirring constantly. Remove from heat; stir in butter and vanilla. Place pan in a large ice-filled bowl for 20 minutes or until mixture cools to room temperature; stir occasionally. Cover surface of pudding with plastic wrap. Chill. Serve with whipped topping.