Refactoring ClassCompiler