             switch strongSelf.state {
             case .fetching(let newID, _):
                guard id == newID else { return }
-               strongSelf.directTransition(newState: .processing(id: ConductionResourceFetchID(), priority: strongSelf._priority(), input: input))
+               strongSelf.directTransition(newState: .processing(id: ConductionResourceTaskID(), priority: strongSelf._priority(), input: input))
             default: break
             }
          }
       }
    }
 
-   private func _process(id: ConductionResourceFetchID, input: Input?) {
+   private func _process(id: ConductionResourceTaskID, input: Input?) {
       guard let transformBlock = transformBlock else {
          directTransition(newState: .fetched(input as? Resource))
          return

      }
   }
   
   private func _fetch(id: ConductionResourceFetchID) {
      guard let fetchBlock = fetchBlock else {
         directTransition(newState: .processing(id: ConductionResourceFetchID(), priority: _priority(), input: nil))
         return
      }
      


public enum ConductionResourceState<Input, Resource> {
   case empty
   case fetching(id: ConductionResourceTaskID, priority: Int?)
   case processing(id: ConductionResourceTaskID, priority: Int?, input: Input?)
   case fetched(Resource?)
   case invalid(Resource?)
}

public typealias ConductionResourceObserver = UUID

public typealias ConductionResourceTaskID = UUID

public typealias ConductionResourceFetchBlock<Input, Resource> = (_ state: ConductionResourceState<Input, Resource>, _ completion: @escaping (_ fetchedInput: Input?) -> Void) -> Void

