Não se imperativo é a palavra que queres. A realidade é que isto não é ruby :p mas mesmo assim, isto é coffeescript já nem está muito mau, eu já fazia objetos destes em javascript mesmo e isto teria à vontade o dobro das linhas de código. Se conseguiste perceber o que faz mesmo sem perceber caralho de javascript é bom, existem sempre várias maneiras de fazer a mesma coisa, mas isto é programação por eventos não ha muito a fugir disto.