-module(member_sup).

-behaviour(supervisor).

-export([
         init/1,
         new_member/1,
         start_link/0
        ]).

start_link() ->
    supervisor:start_link({local, ?MODULE}, ?MODULE, []).

init(Args) ->
    Worker = {member, {member, start_link, Args},
              temporary,                        % never restart workers
              brutal_kill, worker, [member]},
    Specs = [Worker],
    Restart = {simple_one_for_one, 1, 1},
    {ok, {Restart, Specs}}.

new_member(Delay) ->
    Config = [{start_up_delay, Delay}],
    supervisor:start_child(?MODULE, [Config]).