Melt the butter in a heavy skillet or large saucepan. Add the brown sugar and salt, stirring constantly over medium-high heat until it caramelizes, about 5 minutes-be careful not to burn it.
Remove from the stove and slowly mix in 2 cups of the milk. Return to the stove and heat to near boiling over medium heat, stirring constantly. Combine the flour and cornstarch and stir in; then slowly add the remaining cup of milk.
Reduce heat to low and cook until thickened and smooth. Remove a few tablespoons of the pudding, and stir them into the beaten eggs; then return the mixture to the pudding.
Cook another 2 minutes, being careful not to let it boil. Remove from the heat and stir in the vanilla. To prevent a skin from forming on top, lay wax paper over it. Serve warm or cold.