Introduce Processor::API* to reduce duplication