Use is_callable() instead of method_exists()