added IProcessor interface for ProcessorFactory