Then finish_observer_ shares the same life cycle with 'application' object, right? If we choose this way, then we must make sure event_manager is destroyed later than the 'application', otherwise it causes memory dump inside finish_observer_ destructor.