think instead we could make application service send the event in "ApplicationService::Launch(const std::string& id) and remove this logic from app system.