This will kill your performance... function calls are slow, but calling them via call_user_func is crazy slow.
switch (count($args)) {
case 0: $method(); break;
case 1: $method($args[0]); break;
case 2: $method($args[0], $args[1]); break;
//etc
default: call_user_func_array($method, $args); break;
}