           unless Map.get(state, :connected), do: Logger.info("PeerAssets.Repo: rpc connection re-established")
           state = state |> Map.put(:connected, true)
           cond do
-            Map.get(state, :block_cnt) == block_cnt ->
+            retrieve(:block_cnt) == block_cnt ->
               state # no changes
             true ->
-              state
-              |> Map.put(:block_cnt, block_cnt)
-              |> Map.put(:PAprod, load_assets!(prod_tag))
-              |> Map.put(:PAtest, load_assets!(test_tag))
+              # Parse
+              prod_assets = load_assets!(prod_tag)
+              test_assets = load_assets!(test_tag)
+              # Store
+              block_cnt |> store(:block_cnt)
+              prod_assets |> store(:PAprod)
+              test_assets |> store(:PAtest)
           end
         {:error, _} ->
           # TODO: log error

  end

  ## Private

  defp tag_loaded?(tag) do
    case :rpc

      load_tag!(test_tag)
      Logger.info("PeerAssets.Repo: initialized (reload_interval: " <> Integer.to_string(reload_interval) <> ")")
      reload_assets(1)
      {:ok, %{connected: true}}
    rescue
      _ ->
        if log, do: Logger.warn("PeerAssets.Repo: Failed to establish rpc connection. Will retry every second.")
