shouldn't we still "extension_->RemoveObserver(this);" ?