Scheduling tasks (espicially async tasks on plugin disable) caused several errors to be thrown. This PR creates a dedicated object to handle task scheduling which includes keeping track of when the plugin is shutting down and immediately running those tasks instead of scheduling them.
Scheduling tasks (espicially async tasks on plugin disable) caused several errors to be thrown. This PR creates a dedicated object to handle task scheduling which includes keeping track of when the plugin is shutting down and immediately running those tasks instead of scheduling them.
Closes #21