def unbind name
      pipes.delete name
      if pipes.empty?
        exit_callbacks.each do |cb|
          EM.next_tick do
            cb.call status
          end
        end
        if status.exitstatus == 0
          EM.next_tick do
            succeed self
          end
        else
          EM.next_tick do
            fail self
          end
        end
      end
    end
def unbind name
      pipes.delete name
      if pipes.empty?
        exit_callbacks.each do |cb|
          EM.next_tick do
            cb.call status
          end
        end
        if status.exitstatus == 0
          EM.next_tick do
            succeed self
          end
        else
          EM.next_tick do
            fail self
          end
        end
      end
    end
Called by child pipes when they get unbound.