The day before, make the marinade. Put the red onion, tomatoes and garlic cloves in a dry non-stick frying pan over a medium heat. Fry, shaking the pan occasionally, until blackened – this will add flavour. Tip into a blender. Return the pan to the heat, add the chillies, toast until fragrant, then tip into the blender as well, along with 3 tbsp spice mix, 75ml oil and the juice of 1 lemon. Blitz until smooth.
Pour a little of the leftover oil into the frying pan over a medium-high heat. Season, then brown the beef in batches until each piece has a nice dark brown crust. Tip the beef into a large, ovenproof dish with a lid, then pour over the marinade. Toss to coat, cover and chill in the fridge overnight.
Heat oven to 150C/130C fan/gas 2. Take the dish out the fridge. Pour in the stock, add the bay leaves, then mix together. Pop on the lid and cook for 3½ hrs, removing the lid for the last hour, until the meat falls apart when prodded. Remove the beef from the dish and set aside, then put the dish back on the heat and bubble until the sauce has reduced by half. Shred the beef with two forks and add back to the sauce.
Meanwhile, put the avocados, soured cream and coriander stalks in a blender. Squeeze in the juice of 1 lemon. Blitz until smooth, then season and add more lemon juice to taste. Set aside in the fridge.
For the pickled watermelon, whisk the vinegar, sugar and 1 tsp spice mix together in a bowl. Add the watermelon and toss to coat. Cover and chill for 1 hr, tossing occasionally, to lightly pickle.
To serve, warm the tortillas in a frying pan. Spread some of the avocado cream on each one, top with a pile of beef, a few cubes of watermelon and some coriander.