I'm worried that one instance of observer is shared between all the extension instances.. there is gonna be a mess if we have several extension instances, right? Can we either handle this case or somehow enforce that it it impossible?