Broker refactor