Peel and quarter onion add to a food processor along with the celery and garlic. blitz until a wet pale green pulp is achieved. Set aside while you get on with the beef.
Add the beef to a large zip lock bag or bowl. Add the flour, salt and pepper. Lock the bag and squelch about in your hands to coat everything in the seasoned flour or mix together in the bowl. Heat the oil in a heavy based pan over a high heat then tip in a third of the beef allowing it to brown before moving about allowing the other side to brown. Transfer to a bowl or plate when browned all over. Repeat until all meat has been browned.
Turn the heat under the pan to low. Then tip in the blitzed onion, garlic and celery and add the carrots . Stir this about scraping up any bits you can from the bottom of the pan. When softened and almost translucent, tip back in the beef and any juices that collected.
Pour in the Guinness and beef stock. Add the bay leaves and thyme. Allow the pan to come back to boiling point, put on the lid, then transfer to 170°C oven for 2 hours.
10 minutes before the stew has had its time in the oven get on with the topping by adding the flour to a large mixing bowl along with the baking powder, bicarbonate of soda, salt, pepper and thyme. Mix together, then using fingers and thumbs rub the butter into the flour until a breadcrumb like texture is achieved. Stir through the grated cheese. Pour in the milk and stir with a wooden spoon until the dough comes together.
Turn the dough out onto a floured work surface and flatten out with your hands until approx 1/2 inch thickness. Dip a 3" pastry cutter in flour then cut out discs of dough. When no more discs can be cut out of the dough gather the remaining and knead together, press out again until all dough has been used.
Retrieve the stew from the oven, Add the discs of dough on top of the stew overlapping slightly if necessary. Brush the tops of the dough with the beaten egg. Then return to the oven for a further 30 minutes until it has puffed up and gone a golden brown on top.