Moving to CoffeeScript and rebuilding from the ground up