Given that `deprecation_string_for` is only needed by `GeneratedDeprecationMessage`, maybe it would make more sense to do this?

``` ruby
SpecifiedDeprecationMessage = Struct.new(:type) do
  # method defs
end

GeneratedDeprecationMessage = Struct.new(:type) do
  # method defs, including the def of deprecation_string_for
end
```