JavaScript and LiveScript implementation

same as for the JavaScript version: use this variable to keep id management out of `Task`.