defined?(obj)
returns a string that describes what the object is, ie: expression, method etc. OR nil if it hasn't been defined yet.
I forgot about method_defined? I'll try that real quick
EDIT: YES!!! self.method_defined? worked like a charm. after working out a few minor bugs
I now have dynamic tone and weather working!