     self.next = next
   }
 
-  func releaseOwner() {
-    self.handler?.releaseOwner()
+  override func handle(_ value: Fallible<Success>, from originalExecutor: Executor?) {
+    let handler = self.handler
+    handler?.handle(value, from: originalExecutor)
+    handler?.releaseOwner()
   }
 }
 

  typealias Value = Fallible<Success>
  typealias Handler = PromiseHandler<Success>
  
  weak private(set) var handler: Handler?
  let next: SubscribedPromiseState<Success>?

  init(handler: Handler, next: SubscribedPromiseState<Success>?) {


/// **internal use only**
fileprivate class AbstractPromiseState<Success> {
  func handle(_ value: Fallible<Success>, from originalExecutor: Executor?) { }
}

/// **internal use only**
