Move the processing protocol into objects in preparation for add/mul