 					spec[i] = project[s.substr(1)]
 		if processors and processors.length
 			for processor in processors
-				spec[i] = processor spec[i]
+				spec[i] = processor.callback spec[i]
 	spec
 
 sortObject = (object) ->

	if !imports
		throw new Error 'No imports available for output'
	
	for output in outputs
		# validate generator
		if !output.generator
			throw new Error "Generator is required for output in project (#{project.id})"
		else if !imports[output.generator]
			throw new Error "Generator (#{output.generator}) does not exist for output in project (#{project.id})"
		
		# load generator from imports
		generator = imports[output.generator]

		# load processors
		if output.processor instanceof Array
			processors = []
			
			for processor in output.processor
				if !imports[processor] and !loaded_module.exports[processor]
					throw new Error "Import does not exist for alias (#{processor})"
					
				processors.push imports[output.processor].processor
			
			output.processor = processors
			
		else if typeof(output.processor) == 'string'
			if !imports[output.processor]
				throw new Error "Import does not exist for alias (#{output.processor})"
				
			output.processor = [imports[output.processor].processor]

		# load spec from file
		spec = {}

					mkdirp.sync code_dir
				fs.writeFileSync "#{copy_filename}", fs.readFileSync "#{copy_dir}/#{code_file}"
				
				console.log "Generated file: #{copy_filename}".green
		
		# validate filename
		generator_filename = output.filename or generator.filename
