Да все просто, запись происходит псевдо-асинхронно и если по нажатию кнопки страница идет на перезагрузку, то запланированная операция записи просто не выполняется.
Сделать перезагрузку по setTimeout(..., 200); экспериментально подобрать задержку достаточную, что бы запись выполнилась.
А для тех кто с кофескрипт совершенно не знаком, в двух словах можно описать или дать ссылки как кофескрипт решает именно обсуждаемую проблему при модульности? Я вот сижу как раз читаю его и пока не сообразил, как он в этом поможет.
Сделать перезагрузку по setTimeout(..., 200); экспериментально подобрать задержку достаточную, что бы запись выполнилась.