sub mediate { my ($self, $sub, $type, @args) = @_; if ($type eq 'A') { $self->mediate_action($sub, @args); } elsif ($type eq 'D') { $self->mediate_document($sub, @args); # 366 } elsif ($type eq 'O') { $self->mediate_operation($sub, @args); } elsif ($type eq 'P') { $self->mediate_property($sub, @args); } else { die "What in the ...?"; } }