public function invoke($methodName, array $arguments = [])
    {
        $this->trigger(self::EVENT_BEFORE_METHOD);
        $result = call_user_func_array([$this->o, $methodName], $arguments);
        $this->trigger(self::EVENT_AFTER_METHOD);
        return $result;
    }