This probably doesn't work, but I have been trying to do something like this for a while.

```
module Typhoid
  class TyphoeusDecorator < Class

    def initialize(source_klass)
      klass = super(SimpleDelegator)
      klass.extend(TyphoeusDecorations)
      klass.decorate(source_klass)
      klass
    end

  end
end

class Response < TyphoeusDecorator.new(Typhoeus::Response)

end

class Request < TyphoeusDecorator.new(Typhoeus::Request)

end
```