     && left.restorationViewControllers == right.restorationViewControllers  }
 }
 
-extension Session.Model.ActionInternal: Equatable {
+extension Session.Model.TargetAction: Equatable {
   static func ==(
-    left: Session.Model.ActionInternal,
-    right: Session.Model.ActionInternal
+    left: Session.Model.TargetAction,
+    right: Session.Model.TargetAction
   ) -> Bool { return
     left.action == right.action
     && left.event === right.event

    var isReceivingRemoteControlEvents: Bool
    var newsStandIconImage: UIImage?
    var shortcutItems: [UIApplicationShortcutItem]
    
    var shouldSaveApplicationState: Bool
    var shouldRestoreApplicationState: Bool
    var shouldNotifyUserActivitiesWithTypes: [String]

    var supportedInterfaceOrientations: [UIWindow: UIInterfaceOrientationMask]
    var restorationViewControllers: [String: UIViewController]
    
    enum FetchInterval {
      case minimum
      case some(TimeInterval)
      case never
    }
    struct BackgroundTask {
      let name: String
      let expiration: ((Void) -> Void)?
    }
    struct TargetAction {
      let action: Selector
      let target: Any?
      let sender: Any?
      let event: UIEvent?
    }
    enum State {
      enum External {
        enum Query {
