more refactoring on Pipeline and Compiler. Smarter use of Configurations.