-type state() :: map().
-spec add_module(module()) -> ok | {error, term()}.
-spec distribute_modules(node()) -> [{module(), ok | {error, term()}}].
-spec does_scenario_exist(module()) -> boolean().
-spec handle_call(any(), any(), state()) -> {reply, any(), state()}.
-spec handle_cast(any(), state()) -> {noreply, state()}.
-spec init([]) -> {ok, state()}.
-spec list_configurable_modules() -> [module()].
-spec list_scenario_modules() -> [module()].
-spec start_link() -> {ok, pid()} | ignore | {error, term()}.