Place the brown sugar, cornstarch, and salt in a heavy medium saucepan. Whisk to combine.
Add about 1/2 cup of milk and whisk until combined. Add the remaining milk and cream, whisking to combine.
Bring to a boil over medium heat, whisking frequently. Boil, whisking constantly, for 1 minute.
Remove the pan from heat. Add the butter and vanilla, and whisk to combine.
Pour the pudding into a bowl. Cover with plastic wrap, pressing the plastic wrap directly onto the surface of the pudding.
Refrigerate at least 2 hours before serving.
If desired, garnish with sweetened whipped cream and cocoa powder.