Question: I am trying to keep my classes encapsulated as much as possible. Any reason that I should not use the send method like this?

```
class MyClass

  def self.join_two_strings(first, second)
    new.send(:join_two_strings, first, second)
  end

  def join_two_strings(first, second)
    first + second
  end

  private :join_two_strings
end

```

Answer: 
Since `#join_two_strings` doesn't actually need any instance state, it should just be a class method.

```
class MyClass
  def self.join_two_strings(first, second)
    first + second
  end
end

```
To call the problem with your use of #send even more precisely, it is not verbosity, but obscuring of the design intent. Sometimes verbosity (such as using full words, rather than abbreviations) serves to reveal the design intent and shorten the time reader needs to understand your code. With your code example, the reader does not believe that what you want to achieve is mere joining of 2 strings, they keep searching for deeper meaning, before conceding that it is just a complicated method to do a simple thing (and possibly refactoring your code as Chris did). As for #send itself, do not fear it, do not fear to use it. Though #send should not be used as a tool to arbitrarily disrespect privacy of methods, on the other hand, Ruby methods are messages and you don't have to worry to be explicit about it, where there is a reason for it.