Rewritten the whole project, using classes like in CoffeeScript