@ohadlevy had a good suggestion to add caching in here, as I think what will happen now in the "id" method is that proxy will get called twice in that ternary operator.

It can be changed to:
    def proxy
      @proxy || smartProxies.index[0].find...
    end

And in the destroy method, just set `@proxy = nil` after deleting it.