class Steep::Server::Master::GroupHandler

def <<(handler)

def <<(handler)
  handlers[handler.request[:id]] = handler
end

def completed?

def completed?
  handlers.each_value.all? {|handler| handler.completed? }
end

def initialize()

def initialize()
  @handlers = {}
  @completion_handler = nil
end

def on_completion(&block)

def on_completion(&block)
  @completion_handler = block
end

def process_response(message)

def process_response(message)
  if handler = handlers[message[:id]]
    handler.process_response(message)
    if completed?
      completion_handler&.call(handlers.values)
    end
    true
  else
    false
  end
end