- @callback open(charlist(), pos_integer(), map()) :: {:ok, pid()}
- @callback info(pid()) :: map()
- @callback close(pid()) :: :ok
- @callback await_up(pid) :: {:ok, atom()} | {:error, atom()}
- @callback connect(pid(), map()) :: reference()
- @callback await(pid(), reference()) :: {:response, :fin, 200, []}