 
 extension NSFetchRequestResult where Self: NSManagedObject, Self: DelayedDeletable {
 
-  // TODO: work in progress
   /// **Mechanica**
   ///
   /// Makes a batch delete for object conforming to `DelayedDeletable` older than the `cutOffDate` date.


extension DelayedDeletable where Self: NSManagedObject {

  public var hasChangedForDelayedDeletion: Bool {
    return changedValue(forKey: markedForDeletionKey) as? Date != nil
  }


extension RemoteDeletable where Self: DelayedDeletable {

  /// **Mechanica**
  ///
  /// Protocol `RemoteDeletable`.
  ///
  /// Predicate to filter for objects that are marked for remote deletion.
  public static var notMarkedForDeletionPredicate: NSPredicate {
    return NSCompoundPredicate(andPredicateWithSubpredicates: [notMarkedForLocalDeletionPredicate, notMarkedForRemoteDeletionPredicate])
  }
