anchor.diff:  handle_info({'DOWN', MonitorRef, process, _Object, _Info}, #state{sessions=Sessions}=State) ->
       NewSessions = remove_session_from_list(MonitorRef,Sessions),
       shutdown_if_done(NewSessions,State);
  -handle_info(timeout, #state{id = Id} = State) ->
  -    ok = tts_user_mgr:user_wants_to_shutdown(Id),
  +handle_info(timeout, State) ->
  +    ok = tts_user_mgr:user_wants_to_shutdown(self()),
       {noreply,State,5000};
   handle_info(_Info, State) ->
   	{noreply, State}.
  
positive.code: 
  %% gen_server.
  
  init([UserId]) ->
  	{ok, #state{id = UserId }, 5000}.
  
  handle_call({set_user_info,UserInfo}, _From, State) ->
      #{ uid := Uid,
         uidNumber := UidNumber,
         gidNumber := GidNumber,
         homeDirectory := Dir
       } = UserInfo,
      NewState = State#state{ uid = Uid,
                              uidNumber = UidNumber,
                              gidNumber = GidNumber,
                              homeDirectory =Dir }, 
  
      {reply, ok, NewState};
  handle_call(get_user_info, _From, State) ->
      #state{ uid = Uid,
                              uidNumber = UidNumber,
                              gidNumber = GidNumber,
                              homeDirectory =Dir } = State, 
  
      UserInfo = #{ uid => Uid,
         uidNumber => UidNumber,
         gidNumber => GidNumber,
         homeDirectory => Dir
       },
      {reply, {ok, UserInfo}, State};
  handle_call(get_credential_list, _From, #state{credentials=Creds}=State) ->
  
negative.code: -export([code_change/3]).
  
  -record(state, {
            uid = undefined,
            uidNumber = undefined,
            gidNumber = undefined,
            homeDirectory = undefined,
            user_ids = [],
            credentials = [],
            sessions = []
  }).
  
  %% API.
  
  -spec start_link() -> {ok, pid()}.
  start_link() ->
  	gen_server:start_link(?MODULE, [], []).
  
  -spec set_user_info(UserInfo :: map(), Pid :: pid()) -> ok.
  set_user_info(Info, Pid) ->
  