   @doc """
   Starts a process to hold the state of a _Table Of Processes_
   """
-  def start_link(server_id),
-    do: GenServer.start_link(__MODULE__, server_id)
+  def start_link(server_id, params \\ []),
+    do: GenServer.start_link(__MODULE__, {server_id, params})
 
   @spec priority(pid, ProcessModel.id, 0..5) :: no_return
   @doc """

      |> calculate_work()
      |> Enum.split_with(&ProcessModel.complete?/1)

    Enum.each(complete, &notify(:complete, &1))

    processes =
      complete


  require Logger

  alias HELM.Process.Repo
  alias Helix.Process.Model.Process, as: ProcessModel
  alias Helix.Process.Model.Process.Resources
  alias Helix.Process.Model.Process.SoftwareType

  import HELL.MacroHelpers

  defstruct [:server_id, :processes, :resources, :timer, :broker]

  @type server_id :: String.t
  @type timer :: {DateTime.t, tref :: reference} | nil
