Whisk the egg whites, sugar and salt in a heatproof bowl set over a saucepan of simmering water (do not let the bowl touch the water) until the mixture is warm and the sugar dissolves. Remove the bowl from the pan; let cool slightly.
Preheat oven to 180°C/350°F/Gas 4. Line cupcake tin with baking cases.
Beat the butter/margarine and sugar together until light and fluffy. Gradually beat in the eggs and the vanilla essence. If mixture starts to curdle, add a little of the flour.
Gently stir in remaining flour with a spoon. Place spoonfuls of the mixture into the baking cases and bake for 15-20 minutes until firm to the touch.
Remove from the oven and leave to cool on a wire tray.
Make buttercream by beating the butter, icing sugar and vanilla essence together until smooth and creamy.
Divide the icing into separate bowls for each colour you want to use, gradually add the colouring, mixing well until required colour is achieved.
Pipe or swirl icing onto each cupcake. Top with sweet if liked!