-opaque id()
-type state() :: id().
-spec handle_call([], From, state()) -> {stop, normal, state()} when From :: gen_server:from().
-spec handle_cast(term(), state()) -> {noreply, state()}.
-spec init(Id) -> {ok, state()} when Id :: id().
-spec new() -> {ok, Id, CallGatekeeperCode} when Id :: id(), CallGatekeeperCode :: binary().