protected function hasAccessibleMethod($key)
    {
        if (method_exists($this, $key)) {
            $reflection = new ReflectionMethod($this, $key);

            return $reflection->isPublic();
        }

        return false;
    }