   Configures the observer with a tuple of plugin `mod` and
   configuration `config`.
   """
+  @spec configure(pid, plugin_config_t) :: :ok
   def configure(observer, {mod, config}) do
     configure(observer, [{mod, config}])
   end

  Configures the observer with a single plugin `mod` and
  configuration `config`.
  """
  def configure(observer, mod, config) do
    configure(observer, [{mod, config}])
  end

  Configures the Observer with a list of plugin names and their
  initializations. This list is executed in reverse order.
  """
  @spec configure(pid, [plugin_config_t]) :: :ok
  def configure(observer, plug_list) when is_list(plug_list) do
    GenServer.call(observer, {:configure, plug_list})
  end

