For the mayonnaise, put the egg yolks in a food processor and blend. Add the vinegar and mustard and blend again. Slowly add the oil, until you have a thick mayonnaise. Stir in the half of the grapefruit zest and the crab, reserve the remaining grapefruit zest for the dressing.
For the grapefruit dressing, mix the oil with reserved juices from the grapefruit and the reserved grapefuit zest. Add the mustard and whisk.
Preheat the grill to high. Put the mackerel skin side-up on a baking tray and grill for 2-4 minutes.
Bring a large pot of water to the boil and blanch the asparagus for 1-2 minutes. Put the iced water into a bowl, then plunge the asparagus into the water. Heat a griddle pan or frying pan and add the butter. Cook the asparagus in the pan for 1-2 minutes, until coloured.
Put the asparagus and mackerel on serving plates and top with a spoonful of the mayonnaise. Dot the grapefruit and pomelo segments around the plate and drizzle with the dressing. Garnish with the watercress and serve.