For the filling, fry the onion and garlic gently in the butter until tender, without browning.
Add the potatoes, orange zest and white wine, and boil down until the wine has virtually disappeared.
Sprinkle over the flour and stir for a few seconds, so it is evenly distributed.
Gradually stir in the stock, to make the sauce.
Season with salt and pepper.
Stir in the chicken.
Cover and leave to simmer away quietly for 10 minutes or so.
Stir occasionally, then uncover for another five minutes, until sauce has thickened.
Stir in the cream and cook for a final three minutes.
Meanwhile, cook the asparagus lightly in salted water, until tender, but not floppy.
Drain.
Stir the asparagus in with the chicken and potatoes.
Taste and adjust the seasoning.
Spoon the whole lot onto a 1 - 1.5 litre/1¾ - 2½ pint pie dish and leave to cool.
Preheat the oven to 200C/425F/Gas 7.
Roll the pastry out thinly on a floured board.
Cut out a couple of long strips, about 1cm/½in wide.
Brush the edge of the pie dish with the beaten egg.
Lay the strips on the edges, curving to fit, and cutting so that they go all the way round, but don't overlap.
Brush with egg wash, then lay the remaining pastry over the top.
Trim off excess, and press the pastry down all around the edge to seal.
Use the trimmings to make decorative leaves, or flowers or whatever takes your fancy, and then glue them in place with the beaten egg.
Make a hole in the centre so that steam can escape
Chill the pie in the fridge for 30 minutes, then brush with beaten egg and place in the oven.
After 10 - 15 minutes, when the pie is golden brown, reduce the heat to 190C/375F/Gas 5 and continue cooking for a further 20-25 minutes.
Serve hot.