 
   def handle_broker_cast(pid, "event:server:created", {server_id, _entity_id}, request) do
     # FIXME: remove hardcoded data
-    hardware = %{
+    bundle = %{
       motherboard: "MOBO01",
       components:  [
         {"cpu", "CPU01"},

      end)

    case result do
      {:ok, {motherboard, events}} ->
        # FIXME: this should be handled by Eventually.flush(events)
        Enum.each(events, fn {topic, params} ->
          Broker.cast(topic, params, request: request)
        end)


    {:reply, response, state}
  end

  def handle_call({:setup, server_id, bundle, request}, _from, state) do
    result =
      Repo.transaction(fn ->
        with \
          {:ok, motherboard, ev0} <- create_motherboard(bundle.motherboard),
          {:ok, components, ev1} <- create_components(bundle.components),
          {:ok, motherboard, ev2} <- setup_motherboard(motherboard, components)
        do
          {motherboard, ev0 ++ ev1 ++ ev2}
        else
