From Cook's Illustrated

Bring a saucepan of water to a simmer. Put everything but the butter in a mixing bowl and put the bowl over the water. Whisk until the mixture reaches 160 on an instant read thermometer.

Return the bowl to the mixer and beat on medium-high for 5 minutes or until cooled. Beat in the butter a piece at a time on medium (don't worry if it looks odd in the middle - it'll look fine when you're done). Once all the butter has been added, increase speed to high and beat until it looks like icing, about 1 minute.