Hi, you mean an extension must be bounded with the running Application object, right? Emm, then we'd better put the Application object 'application_' as a field of class AppEventExtensionInstance , and remove the applicationStorage access codes, 
  e.g,  scoped_refptr<application::ApplicationData> app_data =
          app_storage->GetApplicationData(app_id_);
wdyt?