This is why I don't like the helper/mixin approach. It feels dirty to pass the resource to the method. `swap_exists?` made sense semantically, but now it's moved out of the current context.