   end
 
   def handle_call({ :execute, command, args, opts }, from, s) do
-    maybe_deactivate_sock(s)
-    send_and_receive(s, from, command, args, opts)
+    with :ok <- maybe_deactivate_sock(s) do
+      send_and_receive(s, from, command, args, opts)
+    end
   end
 
   def handle_call({ :execute_quiet, _commands }, _from, %State{ sock: nil } = s) do

    receiver_queue = MapSet.delete(state.receiver_queue, client)
    state = %{state | receiver_queue: receiver_queue}
    maybe_activate_sock(state)
    { :noreply, state}
  end

  def handle_info(_msg, state) do

  end

  def handle_call({ :execute_quiet, commands }, from, s) do
    with :ok <- maybe_deactivate_sock(s) do
      send_and_receive_quiet(s, from, commands)
    end
  end

  def handle_info({:tcp_closed, _socket}, state) do
