anchor.diff:  %% Returns module corresponding to the plugin service.
   %% @end
   %%--------------------------------------------------------------------
  --spec get_plugin_module(service:ctx()) -> module().
  -get_plugin_module(Ctx) ->
  -    service:get_module(get_plugin(Ctx)).
  +-spec get_plugin_module() -> module().
  +get_plugin_module() ->
  +    service:get_module(get_plugin_name()).
  
positive.code: %% Returns plugin service name.
  %% @end
  %%--------------------------------------------------------------------
  -spec get_plugin(service:ctx()) -> service:name().
  get_plugin(#{letsencrypt_plugin := Plugin} = _Ctx) ->
      Plugin;
  get_plugin(_Ctx) ->
      {ok, #service{ctx = #{letsencrypt_plugin := Plugin}}} = service:get(name()),
      Plugin.
  
  
negative.code: %%--------------------------------------------------------------------
  -spec obtain_cert(service:ctx()) -> ok | no_return().
  obtain_cert(Ctx) ->
      Plugin = get_plugin_module(),
      Domain = Plugin:get_domain(Ctx),
  
      case maps:get(renewal, Ctx, false) of
  