refactor extraction types and add extractionconsumer for running extraction jobs