Place 2 cups milk in a medium, heavy saucepan; bring to a boil. Combine sugar, cornstarch, and salt in a large bowl, stirring well with a whisk. Combine remaining 1/2 cup milk and egg yolks, stirring well with a whisk. Add egg yolk mixture to sugar mixture, stirring well. Gradually add half of hot milk to egg yolk mixture, stirring constantly with a whisk. Return milk mixture to pan; bring to a boil. Reduce heat, and simmer 1 minute or until thick, stirring constantly. Remove from heat. Add butter, vanilla, and chocolate, stirring until melted.
Spoon pudding into a bowl. Place bowl in a large ice-filled bowl for 15 minutes or until pudding is cool, stirring occasionally. Cover surface of pudding with plastic wrap; chill.