Complete refactor. Support gruntjs and requireJS. Awesome