Refactored the processor into a inheritance schema