$obj->method(); #### sub dispatch { my ($obj, $method_name, @args) = @_; my $class = $obj->class; foreach my $canidate ($class->get_MRO()) { return $canidate->get_method($method_name)->($obj, @args) if $canidate->has_method($method_name); } die "Could not find '$method_name' for $obj"; }