add polymorphism to RawDocument and super() save to register a celery task