Create a PullComponent class that includes fundamental tools common to all websites, like random sleep, debug logging, and fetching page HTML.
For each website, create a new Provider class that extends PullComponent with more specialized methods and unique implementations for pulling.
Set up main.ts as the master control file that iterates through a list of PullComponents and runs the pull method (temporary fetch-all for development).
reasons:
This approach allows us to easily identify which methods and code belong to each provider, and it helps organize the code base by splitting it into multiple files.
This reverts commit d03c616bb0cdde76e89c4183e77e9ca8bf6e5c61.