Wow, thank you for making all of these changes!
As is though, we can’t just merge in really large changes all at once. If you would like to get these merged into the discourse-subscriptions plugin you will need to break out each change individually and create separate PRs with tests. Also please be sure that there aren’t breaking changes to existing users who are currently using the subscriptions plugin and have many subscribers already.