Grease a 1.2 litre pudding basin with butter.
Mix the flour, cocoa, caster sugar and suet together in a large bowl. Finely grate the zest of the orange and mix this in too. Gradually work in enough milk to form a soft, slightly sticky dough.
Take a third of the pastry. Roll out on a lightly floured surface to a circle slightly bigger than the basin. Invert the basin onto the pastry and cut around it to form a lid. Add the offcuts to the remaining pastry and roll out to a circle, about 30cm in diameter. Use this to line the pudding basin. Make sure there are no cracks in the pastry.
Put half the butter, brown sugar and chocolate in the lined basin. Pierce the zested orange all over with a skewer and sit it on top. Add the remaining butter, sugar and chocolate.
Dampen the pastry edges with milk or water and put the pastry lid on top. Press the edges together to seal and trim off the excess.
Place a piece of baking parchment on a sheet of foil and make a large pleat in the middle, folding both sheets together. Put the parchment and foil on top of the pudding, foil side up, and secure with string, looping the end of the string over the top of the pudding and tying it to form a handle.
Stand the pudding basin in a large pan and pour in enough boiling water to come halfway up the side of the basin. Put a tight-fitting lid on the pan and bring to a simmer. Lower the heat to maintain a simmer and steam the pudding for 2¼ hours. Top up the boiling water during this time if necessary so the pan doesn’t boil dry.
Lift the pudding basin from the pan. Remove the paper and foil and run the tip of a small, sharp knife around the edge of the pudding, to help release it, if necessary. Invert a large plate or deep dish over the top of the basin and turn both over to unmould the pudding.
Serve at once, cutting into the pudding carefully as the juices flood out (the orange isn’t intended to be eaten). Serve with cold cream.