For the sauce, whisk together all of the sauce ingredients in a large bowl. Reserve ¼ cup of the sauce for later. Place the flank steak in the marinade, cover, and refrigerate for a minimum of 2 hours, preferably overnight.
Preheat the barbeque to medium-hot. Remove steak from the refrigerator and let stand at room temperature for about 30 minutes.
Grill the steak directly over the heat, turning a couple of times, for 8 minutes or until done. Remove and let stand for 10 minutes before slicing and serving.
For the topping, combine the avocado, onion, and the reserved marinade. Toss to coat.