In a medium saucepan, whisk together milk, egg yolks, rapadura or maple syrup, cocoa, arrowroot powder and salt. Cook over medium heat, stirring CONSTANTLY until pudding begins to thicken. Remove immediately from the heat, and continue to stir until pudding is creamy. Add butter and vanilla and continue to stir until mixed. Pour into serving dishes and serve warm, or chill for two hours and serve cold.