Syntactically sane reactive programming for ruby