Use method_defined? to check if method exists instead of slower check

Use method_defined? to check if method exists instead of slower check on instance_methods

Perf: https://gist.github.com/vipulnsward/8d30ace92d530e4244c2