Cut up your butter and put in the mixer bowl while preparing the first mixture.
In a small saucepan, whisk flour, milk, extract and vanilla until smooth. (You can also use a ball whisk in a container to make your ingredients smooth before putting in the saucepan, my preferred method.)
Over medium heat, stir constantly until ingredients thicken up, somewhat to the consistency of brownie batter. Try to avoid lumps in the mixture by stirring throughout.
Remove from the heat, cover (to avoid skin) and let cool COMPLETELY. If you need to hasten cooling, put in the fridge or put on ice in the sink.
While first mixture is cooling, cream the butter and sugar on high speed until light, fluffy and you don't feel any graininess.
Add the completely cooled flour mixture and beat the heck out of it. Your frosting should be light and fluffy, resembling whipped cream.