Ruby DSL for wrapping methods