Create a SensibleDefaultsRequests module which has classes that extend Task. It will have sensible defaults on how to handle certain errors codes from the requests library. For example, 429(too many requests), we should retry 3 times, exponentially backing off (1 second, 2 seconds, 4 seconds) before failing.
The goal is that users can extends this class instead of the base Task class, and get some sensible error handling automatically.
SensibleDefaults