opts :matcher=>/xx/, :except=>[:method_name, //, ’’],
:only=>[:method_name, //, ’’]
def cast_proxy(target_klass, opts={}, &block)
matcher = lambda{|sym| target_klass.method_defined?(sym) && sym}
define_ghost_method(matcher) {|sym, *args| block.call }
end