Melt the butter in a large, heavy-based pan (as tall as you have) over a low heat. Add the sugar, salt and milk and stir until the sugar has dissolved. Bring to the boil and simmer over a fairly high heat for eight minutes.
Add the condensed milk, stir well, then turn the heat down and let it simmer for about another 15 minutes, stirring occasionally. Start testing at this point: once it reaches 115C, it's done. (Alternatively, dribble some of the mixture on to a cold saucer. Leave for a couple of minutes, then push it with your finger; if it sets, it's done.)
Take off the heat, add any flavourings, if using, and beat vigorously with a wooden spoon or electric beaters until thickened but still pourable (about 10 minutes if done manually, less with beaters). Pour into the prepared tin and leave to set, scoring squares after about 20 minutes. It is best left out to dry slightly overnight.