Завернуть все в одну функцию хочется (мне как минимум) потому что хочется избежать разрыва контекста между функцией запускающей выполнение операции и колбэком по заверешению операции. При использовании автоматов ровно точно такой же разрыв контекста происходит. Потому я автоматы на switch перестал любить.