Ported to Javascript nad Grunt (from Coffeescript and Roaster)