     {:stop, :normal, state}
   end
   def handle_info(any, state) do
-    Logger.warn("#{inspect self()} Got info: #{inspect any}")
+    Logger.warn("Got info: #{inspect any}")
     {:noreply, state}
   end
 end

  end

  defp handle_wait_run(%{started_at: started_at, timeout: timeout } = state) do
    running_for_seconds = case started_at do
      nil -> 0
      _other -> -Timex.Duration.diff(started_at, nil, :seconds)
    end
    timeout = max(1, min((timeout - running_for_seconds) * 2, @max_timeout)) # 2h
    if state.timer do
      Process.cancel_timer(state.timer)
    end
    timer = Process.send_after(self(), {:restart}, timeout * 1000)
    state = %{
      state |
      timeout: timeout,
      timer: timer,
      started_at: nil,
      task: nil
    }
    Logger.info("#{inspect self()} Restart init #{state.init.id} in #{state.timeout} seconds.", state: state)
    state
  end

  def handle_info({:DOWN, _ref, :process, _pid, _type}, %{started_at: started_at} = state) when is_nil(started_at) do

      started_at: nil,
      task: nil
    }
    Logger.info("Init \"#{state.init.id}\" finished properly. Did run for #{inspect running_for_seconds} seconds. #{inspect timeout} secs")
    {:noreply, state}
  end
  def handle_info({:EXIT, _from, :normal}, state) do
