Это один из моментов, вызывающих у меня вопросы по архитектуре приложений. Я вижу это так: Приложение предоставляет некий API вида login(), check_permission(), create_user() на верхнем уровне e.g. User.login(). Этот слой обращается к GenServer, который уже обращается в сервисный слой приложения. Я сформировал эту картину буквально на примере единственного проекта из курса, с которого начинал изучение эликсира, и пока не нашел подтверждения/опровержения его корректности(