*erlangВ библиотеке s3erl блестяще справились с функциональностью языка: ввод параметров аутентификации осуществляется путем запуска синглтона-сервера, который в дальнейшем принимает сообщения от самого себя и отвечает на них. При ошибке этот сервер крашится, и узнать о том, что он упал, можно только если поймать эксепшн. Единственный state, который используется, это эти самые параметры. Соответственно, если требуется использовать разные наборы параметров, то надо менять глобальный State (т.к. второй сервер, не изменяя библиотеки, не запустишь) и работать с ним, и следить, чтобы в этот момент никакой другой процесс этот стейт не поменял сам.