Move download estimator code to common base class