Added ResourceSpecification instead of Strings 
Added CompilerContext
Added transparent (non-isolated) directives
Added Transclude functionality