Если у кого-то есть идеи, как ее решить, я бы с удовольствием послушал.
Так как это все равно синтаксический сахар для события, сделать дополнительные конструкции для этого:
Расширение обязано проверить условия при которых оно может заменить метод и вызвать специяльную штуку "Я хоче заменить этот метод", а потом сделать, что ему надо
Вызываются все расширения, если у двух совпадают желания по замене метода, то exception.