# 1. Handles report generation tasks
# 2. Used to define a scheduler for sending email/text notifications (every day, week, month, year, etc.)
# 3. Used to configure the content of reports
# 4. Handles the plotting and data visualization tasks using matplotlib.pyplot
# 5. Stores recipient information and report naming (e.g. name a report based on site)