Remove unnecessary parameter from Controller call to main.
Escape library names before compiling (not doing so is a serious risk).
When a library contains a directory, only extract and compile the files in utility directory.
Escape the library filename when the time is right to avoid re-compiling the same file.
Create a better name for logfiles and return the log every time the compiler sends a response to the controller.