public function addMethod($method, callable $callback)
    {
        if (!is_string($method)) {
            throw new \InvalidArgumentException('$method must be string');
        }
        $this->plugins[$method] = $callback;
    }