         case pending
         case progressing(UIBackgroundTaskIdentifier) // Readonly
         case complete(UIBackgroundTaskIdentifier)
-        case expired // Readonly
+        case expiring // Readonly
       }
     }
     enum TartgetActionProcess {

     Tasks marked completed are ended.
     Tasks marked in-progress that were removed are considered canceled and are removed.
     */
    let complete = model.backgroundTasks.complete().flatMap { $0.ID }
    let deletions = RxUIApplication.deletions(
      old: Array(old.backgroundTasks),
      new: Array(model.backgroundTasks)

          withName: task.name,
          expirationHandler: { [weak self] in
            if let strong = self {
              strong.model.backgroundTasks = Set(
                strong.model.backgroundTasks.map {
                  if $0.name == task.name {
                    var edit = $0
                    edit.state = .expiring
                    return edit
                  } else {
                    return $0
                  }
                }
              )
              strong.output.on(.next(strong.model))
