public static final function toServiceMethod(string $serviceMethod): string
    {
        // foo-bar => FooBar
        $serviceMethod = ucfirst($serviceMethod);
        if (strpos($serviceMethod, '-')) {
            $serviceMethod = preg_replace_callback('~-([a-z])~i', function($match) {
                return ucfirst($match[1]);
            }, $serviceMethod);
        }

        // foo-bar => doFooBar
        return sprintf('%s%s', Service::METHOD_NAME_PREFIX, $serviceMethod);
    }