Making it more CoffeeScript-ideomatic + Better error detection
Updated JS
Updated documentation