 
   @serum_version Version.parse!(Mix.Project.config()[:version])
   @elixir_version Version.parse!(System.version())
+
+  @old_callback_arities %{
+    build_started: 2,
+    reading_pages: 1,
+    reading_posts: 1,
+    reading_templates: 1,
+    processing_page: 1,
+    processing_post: 1,
+    processing_template: 1,
+    processed_page: 1,
+    processed_post: 1,
+    processed_template: 1,
+    processed_list: 1,
+    processed_pages: 1,
+    processed_posts: 1,
+    rendering_fragment: 2,
+    rendered_fragment: 1,
+    rendered_page: 1,
+    wrote_file: 1,
+    build_succeeded: 2,
+    build_failed: 3,
+    finalizing: 2
+  }
 
   @spec load_plugins([Plugin.spec()]) :: Result.t([Plugin.t()])
   def load_plugins(modules) do

    end
  end

  @spec update_agent([Plugin.t()]) :: :ok
  defp update_agent(plugins) do
    Agent.update(Plugin, fn _ -> %{} end)

      name: name,
      version: version,
      description: module.description(),
      implements: normalized_implements(module)
    }

    {:ok, plugin}
