Cube the cold butter and set aside in a container in the fridge whilst you set up your stand mixer or beaters.
Place the cold cubed butter into the bowl of the mixer and with a paddle attachment beat until creamy. This may take a little while as the butter is so cold.
Once creamed, turn up the mixer to full speed and beat for 5 minutes.
Add half of the icing sugar approx 1/4 cup at a time, ensuring each additional is well beaten in.
Add the vanilla extract and beat again for 30 seconds.
Add the remaining icing sugar, again a 1/4 cup at a time until fully incorporated. Now turn the mixer up to full speed again and beat continuously for an additional 3 minutes.
Turn the mixer off, add the milk and slowly work together. Turn back up to high speed and beat for an additional 3 minutes.
If colouring, add your gel food dye now and beat until you reach the desired colour.