do_begin(pid) :: :ok | {:error, any}
do_connect(pid) :: :ok | {:error, any}
do_disconnect(pid) :: :ok | {:error, any}
do_send(pid, binary) :: :ok | {:error, any}
start_link(pid, map) :: GenServer.on_start