First working draft

@todo:
* fix the fs watcher
* add some tests
* test with multiple compilers
* check performance